我尝试使用 ssh 登录远程服务器而无需密码,但出现错误:
Permission denied (publickey)
要将 .pub 密钥复制到服务器,我有:
PasswordAuthentication = yes (in the sshd_config file).
复制 .pub 密钥后,我在 ssh_config 中禁用了密码:
PasswordAuthentication = no
现在当我尝试 ssh 时:
ssh'[电子邮件受保护]'
我收到错误:
Permission denied (publickey)
我该如何解决这个问题?
我已经更改了authorized_keys权限、.ssh/权限等,但问题仍然存在。我什至使用了 ssh-agent $SHELL && ssh-add 命令。
答案1
我总是使用以下步骤创建与远程计算机的新 ssh 连接:
生成一个新的
ssh
密钥对(只需按 Enter 直到返回 shell):localhost$ ssh-keygen -t rsa localhost$ cp .ssh/id_rsa.pub .ssh/authorized_keys
将新创建的公钥复制到远程计算机:
localhost$ ssh-copy-id username@myIP username@myIP password:
现在尝试登录(不会出现密码提示):
ssh username@myIP
注意:我从不编辑
ssh_config
,sshd_config
所以也许您可以将它们恢复到原始状态,除非它们已经连接。