我想确保通过 SSH 访问计算机的唯一方法是客户端的密钥是否已添加到authorized_keys
服务器上的文件中。
为此,我编辑/etc/ssh/sshd_config
并启用以下选项
ChallengeResponseAuthentication no
PasswordAuthentication no
PubkeyAuthentication yes
UsePAM no
在此之后,我重新启动sshd
服务
sudo /etc/init.d/ssh restart
但是,当我尝试从其密钥未保存在服务器的授权密钥文件中的客户端 ssh 进入服务器时,系统会提示我输入密码。
编辑:我已经弄清楚了问题所在,但我将把这个问题留在这里,以防它对其他人有用。
发生的情况是,当使用不在authorized_keys
文件中的密钥从客户端连接时,服务器会要求输入密码,但无论输入什么密码,都会被拒绝。我认为这使得攻击者很难理解 sshd 是如何配置的。