我有一个没有密码的 ssh 密钥来登录远程系统。假设远程服务器被调用server-name
并且具有与我当前登录的用户相同的用户。在控制台中,如果我执行以下操作:
ssh server-name
出现一个弹出窗口,要求我输入密码。如果我不输入任何密码,我会收到错误消息Permission denied (publickey).
但是,这样做:
ssh -i ~/.ssh/my_key_rsa server-name
工作正常。
我还在网上发现,添加AskPassGUI no
to~/.ssh/config
可以防止弹出窗口显示。但是,然后我得到以下信息:
Tom@computer:~/.ssh$ ssh server-name
Enter passphrase for key '/Users/Tom/.ssh/my_key_rsa.pub':
Permission denied (publickey).
那么,我该怎么做才能在没有选项的情况下登录呢-i
?
注意:我设置了正确的密钥文件~/.ssh/config
来访问相应的远程机器,即
Tom@computer:~/.ssh$ cat ~/.ssh/config
AskPassGUI no
Host *
IdentityFile ~/.ssh/my_key_rsa.pub
答案1
Host *
IdentityFile ~/.ssh/my_key_rsa.pub
您在此处指定了错误的密钥文件。您需要指定私人的密钥文件,而不是民众密钥文件。私钥文件是不带.pub
扩展名的文件:
Host *
IdentityFile ~/.ssh/my_key_rsa