如何强制 SSH 使用密码而不是密钥?

Gre*_*Meh 9 ssh

所以我需要使用密码而不是密钥登录到一台机器,我几乎从来没有这样做过。似乎应该很容易,但不,ssh 拒绝使用除密钥之外的任何东西。

ssh -o PreferredAuthentications=keyboard-interactive -o PubkeyAuthentication=no root@ip-address
root@ip-address: Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)

小智 21

root@ip-address: Permission denied (publickey)
Run Code Online (Sandbox Code Playgroud)

此消息意味着您的服务器仅允许公钥,因此请启用密码身份验证/etc/sshd_config

Password Authentication yes
Run Code Online (Sandbox Code Playgroud)

您的系统可能允许密码但不允许键盘交互,例如

Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您需要改用以下内容:

ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no exampleUser@example.com
Run Code Online (Sandbox Code Playgroud)


小智 7

您尝试使用正确的参数来禁用密钥验证。也许服务器拒绝密码认证?检查服务器 ssh 配置。

  • 具体来说,检查服务器上`/etc/ssh/sshd_config` 中的`PasswordAuthentication` 指令。 (4认同)

Gre*_*Meh 6

事实证明,解决方案是PasswordAuthentication yes设置/etc/ssh/sshd_config.

感谢几位为我指明正确方向的人。