如何将 sshd 配置为 1) 需要公钥和2) 登录需要密码吗?请注意,我在这里指的不是客户端密钥的对称加密。我指的是服务器端密码。
这可能吗?
答案1
另一个答案中的链接答案确实很旧,从那时起有很多变化。所以再一次:
如果您通读 的手册页sshd_config(5)
,就会发现有一个选项AuthenticationMethods
,它会列出您在被授予访问权限之前需要传递的方法列表。您所需的设置是:
AuthenticationMethods publickey,password
此方法应该适用于所有当前带有最新 openssh(openssh-6、openssh-7)的 Linux 系统。
较旧的系统
我知道的唯一例外是 RHEL 6 (openssh-5.3),它需要设置具有相同值的不同选项(如信息安全答案):
RequiredAuthentications2 pubkey,password
答案2
如果您使用的是最新版本的 RHEL(Red Hat Enterprise Linux)或 Fedora,请参阅已接受的答案这个问题。如果您的 SSH 守护进程足够新,该解决方案也可能适用于其他发行版。