禁用SSH的密码身份验证不会';无法按预期工作Ubuntu 14.04 LTS
我想确保通过SSH访问计算机的唯一方法是,如果客户端的密钥已经添加到服务器上的禁用SSH的密码身份验证不会';无法按预期工作Ubuntu 14.04 LTS,ssh,openssh,sshd,Ssh,Openssh,Sshd,我想确保通过SSH访问计算机的唯一方法是,如果客户端的密钥已经添加到服务器上的authorized_keys文件中 为此,我编辑/etc/ssh/sshd\u config,并启用以下选项 ChallengeResponseAuthentication no PasswordAuthentication no PubkeyAuthentication yes UsePAM no 接下来,我重新启动sshd服务 sudo /etc/init.d/ssh restart 但是,当我尝试从一个客户
authorized_keys
文件中
为此,我编辑/etc/ssh/sshd\u config
,并启用以下选项
ChallengeResponseAuthentication no
PasswordAuthentication no
PubkeyAuthentication yes
UsePAM no
接下来,我重新启动sshd
服务
sudo /etc/init.d/ssh restart
但是,当我尝试从一个客户端ssh到服务器时,该客户端的密钥没有保存在服务器的authorized keys文件中,我会得到提示输入密码
编辑:我已经找出了问题所在,但我将把这个问题留在这里,以防它对其他人有用
发生的情况是,当使用
authorized_keys
文件中未包含的密钥从客户端连接时,服务器会要求输入密码,但无论输入什么密码,都会被拒绝。我认为这使得攻击者很难理解sshd是如何配置的。我上面描述的行为是sshd的预期行为。无论输入什么密码,都不会被接受 为了帮助那些找到这个并且似乎仍然能够使用root和密码登录的人,我发现重新启动VPS似乎可以正确地重新配置所有内容。我在一些14.04中注意到,与其使用init.d重新启动,不如试着使用sudo服务ssh restart.SE。@ADRENALIN:“这里也是一样,这是我第一次遇到这个问题。”什么问题?OP在他的编辑中解释说,使用未经授权的客户端密钥进行密码验证将失败。“所有以前的Ubuntu版本都很好。“请定义‘罚款’;也许按照今天的标准,原始行为被认为是不安全的,正如OP的编辑中所解释的那样。@CCG:请将这个问题从未回答的问题列表中删除。如果你快一点,你甚至可以申请那笔赏金