Ubuntu

即使 /etc/ssh/sshd_config 中的“PasswordAuthentication no”,也可以通過 SFTP 使用密碼身份驗證

  • August 1, 2014

我在 Ubuntu 14.04 伺服器上啟用了基於 SSH 密鑰的身份驗證,禁用了使用 SSH 的 root 登錄,並且可以在我的 Mac SSH 客戶端上使用基於 SSH 密鑰的身份驗證與我的使用者帳戶blahblah成功連接。

但是,為了使用密碼身份驗證測試 SSH 登錄,我使用 Filezilla 中的 SFTP 登錄使用者帳戶blahblah及其密碼,它允許我登錄而無需任何基於 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

通過查看 /var/log/auth.log,可以驗證 Mac 客戶端上的 Filezilla 實際上似乎使用的是 Mac SSH 代理,而不是在那裡輸入的密碼。

通過嘗試在另一台電腦上通過 SFTP 連接但失敗,驗證 SFTP 正在使用 SSH 密鑰身份驗證。

引用自:https://unix.stackexchange.com/questions/147504