即使 /etc/ssh/sshd_config 中的“PasswordAuthentication no”,也可以通过 SFTP 使用密码身份验证

即使 /etc/ssh/sshd_config 中的“PasswordAuthentication no”,也可以通过 SFTP 使用密码身份验证

我已在 Ubuntu 14.04 服务器上启用基于 SSH 密钥的身份验证,禁用使用 SSH 的 root 登录,并且可以使用我的用户帐户使用基于 SSH 密钥的身份验证成功连接巴拉巴拉在我的 Mac SSH 客户端上。

但是,为了测试使用密码身份验证的 SSH 登录,我在 Filezilla 中使用 SFTP 登录作为用户帐户巴拉巴拉使用它的密码,它允许我登录而无需任何基于 SSH 密钥的身份验证。

文件/etc/ssh/sshd_config如下。如您所见,我已禁用PasswordAuthentication.sudo service ssh restart修改此配置文件后,我已经使用重新启动了 sshd 守护进程。任何想法为什么会发生这种情况?

Port 8888
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
UsePrivilegeSeparation yes

KeyRegenerationInterval 3600
ServerKeyBits 1024

SyslogFacility AUTH
LogLevel INFO

LoginGraceTime 120
PermitRootLogin no
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes

IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no

PermitEmptyPasswords no

ChallengeResponseAuthentication no

PasswordAuthentication no


X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes

AcceptEnv LANG LC_*

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

UsePAM no
AllowUsers blahblah

答案1

通过查看 /var/log/auth.log,可以验证 Mac 客户端上的 Filezilla 实际上似乎使用的是 Mac SSH 代理,而不是在那里输入的密码。

通过尝试通过另一台计算机上的 SFTP 连接但失败,验证了 SFTP 正在使用 SSH 密钥身份验证。

相关内容