如何保持密码登录对 SFTP 事务启用(如果这很重要,则由 Drupal 执行),同时对所有其他基于 SSH 密钥的身份验证禁用?目前,CentOS 服务器的所有现有用户都使用密钥登录,并且 /etc/ssh/sshd_config 有PasswordAuthentication no
)?
答案1
据我所知,您想要允许某些用户输入密码,但不允许其他用户输入密码?
您可以设置Match
阻止。因此您的配置可能如下所示。
...
PasswordAuthentication no
...
Match user drupalsftp
PasswordAuthentication yes
既然您提到这些基于密码的交易是从 drupal 发生的,也许您可以根据主机地址将其列入白名单? Match address 127.0.0.1/32
您甚至应该能够组合标准,并说只有来自特定地址的特定帐户才能进行密码验证。
PasswordAuthentication no
...
Match user drupalsftp address 10.1.2.3/32
PasswordAuthentication yes
# also since we want only sftp
ForceCommand internal-sftp
链接
答案2
SFTP 只是 SSH 会话的一个特例。如果您的 中有PasswordAuthentication yes
或 ,则默认启用密码登录。允许密码验证不会阻止基于密钥的验证。ChallengeResponseAuthentication yes
/etc/ssh/sshd_config
答案3
转到文件 /etc/ssh/sshd_config,并更改以下行:
密码验证 是
然后重新启动 sshd:
sudo 服务 ssh 重启