我想确保通过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的配置方式。
答案 0 :(得分:1)
我上面描述的行为是sshd的预期行为。无论输入什么密码,都不会被接受。
答案 1 :(得分:0)
只是为了帮助那些发现这个并且仍然能够使用root和密码登录的人,我发现重新启动VPS似乎可以正确地重新配置所有内容。