我将其添加到sshd_config文件的底部
Match User user PasswordAuthentication no
然后我重新启动SSH,当我去SSH到我的服务器时,我得到了错误
Permission denied (publickey)
我如何做到这一点,使特定的用户可以login到服务器,而无需input密码或需要密钥?
SSH假设你正在使用某种types的身份validation,无论是密码,密钥身份validation,Kerberos等等。通过设置PasswordAuthentication no ,你只是告诉你的sshd它不应该允许它作为一种可能的身份validation方法。 不过,它仍然需要某种authentication。
我想如果你确实真的想禁用所有的身份validation,那么有一种方法可以使用PAM来做到这一点,但是这是一个非常非常不明智的做法。
不要这样做。
如果设置正确,密钥validation与使用无密码一样透明,并且更安全。
你可能想看看rsh与rhosts文件。 这是不安全的,但没有身份validation的ssh也是如此。 我build议你设置无密码的SSH密钥,如果你需要做这样的事情。