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

der*_*loh 6 ssh sftp pam

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

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

我已经搜索了诸如“匹配子系统 sftp”之类的东西(比如可用的“匹配组”,我之后只能定义“RequiredAuthentications2 publickey”,但这似乎是不可能的。

我查看的另一件事是检查 PAM,如果有可能为 sftp 子系统定义单独的配置(这似乎不可行,pam 的服务始终是“ssh”)或者我是否可以在我的 sshd pam conf 就像“sftp 中的 auth [success=1 default=ignore] pam_succeed_if.so 安静子系统”

任何提示?(除了为具有不同设置的 sftp 设置另一个 sshd 实例)

nor*_*lly 1

我不会尝试通过组规则放松安全性,而是使用默认安全性并通过组规则加强安全性。以下示例需要对 进行 2 因素身份验证users,但不需要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
Run Code Online (Sandbox Code Playgroud)

我在 Ubuntu 系统上成功地构建了这个原型,指定了我的 sshd_config 手册页,AuthenticationMethods而不是CentOS 系统手册页中的RequiredAuthenticatios1和。RequiredAuthenticatios2等效线是

    AuthenticationMethods publickey,password
Run Code Online (Sandbox Code Playgroud)