Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
禁用SSH的密码身份验证不会';无法按预期工作Ubuntu 14.04 LTS_Ssh_Openssh_Sshd - Fatal编程技术网

禁用SSH的密码身份验证不会';无法按预期工作Ubuntu 14.04 LTS

禁用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 但是,当我尝试从一个客户

我想确保通过SSH访问计算机的唯一方法是,如果客户端的密钥已经添加到服务器上的
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:请将这个问题从未回答的问题列表中删除。如果你快一点,你甚至可以申请那笔赏金