ssh:设置密钥后仍然可以使用密码

ssh:设置密钥后仍然可以使用密码

我跟着设置 SSH 的教程。现在它会提示输入密码,但是当我什么都不输入并按回车键时,它会要求输入密码,然后我就可以使用它登录。我该如何避免这种情况?

sshd_config的如下:

Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
UsePrivilegeSeparation yes

KeyRegenerationInterval 3600
ServerKeyBits 768

SyslogFacility AUTH
LogLevel VERBOSE

LoginGraceTime 20
PermitRootLogin no
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes

IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no

PermitEmptyPasswords no

ChallengeResponseAuthentication yes

PasswordAuthentication no

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes

AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

UsePAM yes

答案1

您已关闭PasswordAuthentication(即sshd的内置密码验证),但已打开ChallengeResponseAuthentication(即通过 PAM 进行验证,默认情况下即密码验证)。如果您只想要基于密钥的验证,请关闭ChallengeResponseAuthentication

答案2

您重新启动了 ssh 守护进程吗?

答案3

您是否检查过.ssh 目录的所有者和权限?

其目录和其中的文件应由登录 id 拥有。目录的权限应为 700(仅允许登录用户访问),文件权限应为 600。

答案4

听起来你为私钥分配了一个密码。这是你在尝试连接时提示的内容。你需要删除它,这样私钥就不再加密了。你可以在设置空白密码的同时重新创建密钥(并将其输入到 allowed_hosts 文件中)。或者,使用ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]


--Christopher Karel从当前密钥设置一个空白密码

相关内容