启用 SFTP 密码登录,同时保留 SSH 密钥身份验证

启用 SFTP 密码登录,同时保留 SSH 密钥身份验证

如何保持密码登录对 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 重启

相关内容