因此我需要使用密码而不是密钥登录机器,而我几乎从来不这样做。这似乎很容易,但事实并非如此,ssh 拒绝使用密钥以外的任何东西。
ssh -o PreferredAuthentications=keyboard-interactive -o PubkeyAuthentication=no root@ip-address
root@ip-address: Permission denied (publickey).
答案1
root@ip-address: Permission denied (publickey)
此消息意味着您的服务器仅允许公钥,因此请使用以下命令启用密码验证/etc/ssh/sshd_config
:
Password Authentication yes
您的系统可能允许密码但不允许键盘交互,例如
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)
在这种情况下,您需要使用以下命令:
ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no [email protected]
答案2
您尝试使用正确的参数来禁用密钥身份验证。也许服务器拒绝密码身份验证?检查服务器 ssh 配置。
答案3
事实证明,解决方案是PasswordAuthentication yes
建立/etc/ssh/sshd_config
。
感谢几位为我指明正确方向的人。
答案4
Permission denied (publickey)
该错误消息中的“(publickey)”字符串是远程服务器接受的身份验证方法列表。在这种情况下,远程服务器仅接受公钥身份验证。您可以随意更改客户端参数,但这不会改变服务器仅接受公钥身份验证的事实。
要使用密码登录,您必须首先重新配置远程服务器以接受密码验证。