我正在尝试配置我的SSH服务器以要求用户拥有RSA密钥。为此,我将sshd_config
中的设置设置为
RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile %h/.ssh/authorized_keys
和
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no
# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no
和
UsePAM no
然后我sudo /etc/init.d/ssh restart
重新启动服务器。
这似乎在某种程度上起作用,因为我包含了我的mac rsa_key
,它让我可以在不询问密码的情况下登录。但是,当我尝试通过一台我没有包含密钥的计算机ssh
时,它只是提示我输入密码,然后输入时,让我进去。
我做错了什么?
答案 0 :(得分:1)
我认为你还需要
ChallengeResponseAuthentication no
UsePAM no
PermitRootLogin without-password
否则,即使sshd
没有要求自己输入密码,它也会信任PAM
和login
,它会使用密码对用户进行身份验证。
在测试时,请确保使用其他方法以防止SSH出现问题...
并确保使用/etc/init.d/sshd restart
重新启动服务器。
答案 1 :(得分:1)
我说你没有正确地重新加载你的ssh配置。您使用的是哪个Linux发行版/版本(假设您甚至使用Linux)?
在Ubuntu我经常这样做:
sudo restart ssh
OR
sudo service ssh restart
此外,虽然没有与这个问题密切相关 - 理想情况下root不应该有密码 - 你应该使用sudo。