sshd 和 sftp 子系统使用不同的“RequiredAuthentications2”

sshd 和 sftp 子系统使用不同的“RequiredAuthentications2”

我们目前在 SSH 服务器上使用双因素身份验证,因此在 sshd_config 中我们有“RequiredAuthentications2 publickey,keyboard-interactive”(publickey 为密钥,keyboard-interactive 为通过 PAM 处理的双因素身份验证)

为了让我们的开发人员更轻松,我们想要禁用 sftp 子系统的 2factor 要求。

我已经搜索过类似“Match subset sftp”之类的东西(比如可用的“Match Group”,之后我只能定义“RequiredAuthentications2 publickey”,但似乎这是不可能的。

我研究的另一件事是检查 PAM,看看是否有可能为 sftp 子系统定义一个单独的配置(这似乎不可行,pam 的服务始终是“ssh”)或者我是否可以在我的 sshd pam 配置中包含一些内容,例如“auth [success=1 default=ignore] pam_succeed_if.so quiet subsets in sftp”

有什么提示吗?(除了为 sftp 设置另一个 sshd 实例并使用不同的设置)

答案1

users我不会尝试使用组规则来放松安全性,而是使用默认安全性并使用组规则来加强安全性。以下是需要 2 因素身份验证但 不需要的示例sftp-users

# Only these groups can connect
AllowGroups users sftp-users

Match Group users
    RequiredAuthenticatios2 publickey,keyboard-interactive

Match Group sftp-users 
    ChrootDirectory %h
    X11Forwarding no
    AllowTcpForwarding no

我在 Ubuntu 系统上成功实现了这个原型,我指定的是 sshd_config 手册页,AuthenticationMethods而不是CentOS 系统手册页中的RequiredAuthenticatios1and RequiredAuthenticatios2。等效行是

    AuthenticationMethods publickey,password

相关内容