使用密码或公钥登录。但不能同时使用两者,并将 PAM 身份验证限制为 root 用户

使用密码或公钥登录。但不能同时使用两者,并将 PAM 身份验证限制为 root 用户

我在配置 ssh 服务器时遇到了困难。情况如下。root 用户是唯一使用 google F2A (PAM) 的用户,受限用户只能通过密码连接,其余用户无需密码(因为他们没有密码),只能使用公钥连接。但是我需要创建一个用户(其他用户),该用户必须能够使用密码或公钥登录。但不能同时使用两者,也不能不使用 F2A。这是我拥有的 sshd_config 文件。此 sshd 服务的目的是用作跳转服务器(SSH 隧道)。

    Include /etc/ssh/sshd_config.d/*.conf
    PermitRootLogin yes
    UsePAM yes
    X11Forwarding yes
    PrintMotd no
    AcceptEnv LANG LC_*
    Subsystem sftp  /usr/lib/openssh/sftp-server
    PasswordAuthentication yes
    ChallengeResponseAuthentication yes
    PermitTunnel yes
    AllowTcpForwarding yes
    LogLevel VERBOSE
    SyslogFacility AUTH
    
    Match User root
            AuthenticationMethods keyboard-interactive:pam
    
    Match User restricted
            AuthenticationMethods password
    
    Match User otheruser
            AuthenticationMethods publickey,password

我该如何继续?

答案1

我找到了一个解决方法,在 pam.d/sshd 文件中,在 auth required pam_google_authenticator.so 行末尾添加“nullok”。我还删除了:

 Match User otheruser 
     AuthenticationMethods publickey,password 

使用此配置,用户可以使用公钥或密码登录。Root 只能使用密码和 Match User root 块定义的双因素身份验证 (keyboard-interactive:pam) 登录。受限用户只能使用密码访问。

相关内容