配置SSH服务器以要求RSA密钥

时间:2013-11-13 19:19:05

标签: ssh rsa ssh-keys openssh

我正在尝试配置我的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时,它只是提示我输入密码,然后输入时,让我进去。

我做错了什么?

2 个答案:

答案 0 :(得分:1)

我认为你还需要

ChallengeResponseAuthentication no
UsePAM no 
PermitRootLogin without-password

否则,即使sshd没有要求自己输入密码,它也会信任PAMlogin,它会使用密码对用户进行身份验证。

在测试时,请确保使用其他方法以防止SSH出现问题... 并确保使用/etc/init.d/sshd restart重新启动服务器。

答案 1 :(得分:1)

我说你没有正确地重新加载你的ssh配置。您使用的是哪个Linux发行版/版本(假设您甚至使用Linux)?

在Ubuntu我经常这样做:

sudo restart ssh
OR
sudo service ssh restart

此外,虽然没有与这个问题密切相关 - 理想情况下root不应该有密码 - 你应该使用sudo。