0

我正在尝试将我的 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通过未包含密钥的计算机进入时,它只会提示我输入密码,然后在输入时让我进入。

我究竟做错了什么?

4

2 回答 2

1

我想你也需要

ChallengeResponseAuthentication no
UsePAM no 
PermitRootLogin without-password

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

测试时,请确保有其他方法以防 SSH 出现问题...并确保使用/etc/init.d/sshd restart.

于 2013-11-13T19:29:40.287 回答
1

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

在 Ubuntu 中,我通常会这样做:

sudo restart ssh
OR
sudo service ssh restart

此外,尽管与这个问题没有密切关系——理想情况下,root 不应该有密码——你应该使用 sudo。

于 2013-11-13T23:50:29.257 回答