Permission denied (publickey).
即使我手动指定使用密码验证的选项,我也无法登录到远程机器ssh -o PubkeyAuthentication=no -o PreferredAuthentications=password username@ip_address
。
/etc/ssh/ssh_config
在远程机器中,我手动添加了但仍可用的选项PubKeyAuthentication No PasswordAuthentication Yes
(sshd and ssh
更改后也重新启动了服务)。没有指定其他自定义选项,因此应该使用默认值,而这些选项也不需要。
最困难的部分是我已经添加了公钥,~/.ssh/authorized_keys
但仍然无法使用任何一种方法登录。
/var/log/auth.log
当我尝试连接远程时,以下是打印到远程机器的内容:sshd[23303]: Connection closed by <ip_of_local_machine> port 50467 [preauth]
我可以采取什么故障排除步骤来找出到底发生了什么?
答案1
@steeldriver 的评论是正确的答案,任何在谷歌上偶然发现这个问题的人都应该接受:
远程服务器要接受的身份验证选项在其 /etc/ssh/sshd_config 中设置,而不是在其 /etc/ssh/ssh_config 中设置(适用于从远程计算机连接的客户端)
要设置与机器的连接配置,请确认您正在编辑/etc/ssh/sshd_config
而不是/etc/ssh/ssh_config
(请注意前者是sshd
而不是ssh
)