Linux/Unix:配置pubkey auth时,强制ssh客户端仅使用密码身份验证

时间:2020-01-09 10:40:15  来源:igfitidea点击:

如何配置并使用我的openssh服务器仅接受基于公钥的身份验证。
如何测试服务器是否接受密码。
配置pubkey auth后,如何允许ssh客户端仅使用密码auth?
您可以在Linux,MacOS,FreeBSD,OpenBSD和类似Unix的系统上强制ssh客户端仅使用密码身份验证。

使用pubkey auth时如何提示输入密码?

语法为:

ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no user@server

例如:

$ ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no [email protected]
$ ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no [email protected]

其中:

  • PreferredAuthentications = password可用于身份验证的方法类似于基于GSSAPI的身份验证,基于主机的身份验证,公共密钥身份验证,质询响应身份验证和密码身份验证。尽管可以使用PreferredAuthentications更改默认顺序,但可以按照上面指定的顺序尝试身份验证方法。
  • PubkeyAuthentication = no禁用公钥认证,并强制ssh使用PreferredAuthentications = password使用密码

请注意,您必须在服务器/etc/ssh/sshd_config文件中设置PasswordAuthentication yes

如果您希望root用户访问,请在服务器/etc/ssh/sshd_config文件中设置PermitRootLogin yes
否则,您将收到一条错误消息,内容如下:

Permission denied (publickey,keyboard-interactive).