Конфигурация, которую я хочу, возможна? Проблемы с SSH к серверу Redhat с использованием гугл аутентификации 2fa

Я пытаюсь настроить двухфакторную аутентификацию при использовании SSH для подключения к моему экземпляру redhat ec2.

Я хотел бы настроить это так:

  • Если у пользователя настроены и ключ ssh, и Google Auth, используйте эти два фактора
  • Если у пользователя нет ключа ssh, используйте пароль и Google Auth
  • если у пользователя есть только пароль, это все, что нужно

У меня это частично работает, но с текущей конфигурацией, проблемы, с которыми я сталкиваюсь сейчас:

  • Пользователь, у которого установлен только пароль, дважды запрашивает пароль, но ему все еще предоставляется доступ (не моя главная проблема)
  • Пользователю с настроенным аутентификатором Google предлагается ввести пароль, пароль вводится, и теперь ему предлагается ввести код подтверждения. Если вы введете неправильный код подтверждения, вам будет предложено ввести еще один запрос пароля, и это даст вам доступ без кода подтверждения, что сделает Google аутентификатор бесполезным.

Мои настройки конфигурации:

/etc/pam.d/sshd

#%PAM-1.0

auth       required     pam_sepermit.so
auth       [success=done new_authtok_reqd=ok default=ignore]   pam_google_authenticator.so nullok
auth       substack     password-auth
auth       include      postlogin
account    required     pam_sepermit.so
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
session    include      password-auth
session    include      postlogin

/ И т.д. / SSH /sshd_config

HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key



SyslogFacility AUTHPRIV


PermitRootLogin no

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys




PasswordAuthentication yes

ChallengeResponseAuthentication yes


GSSAPIAuthentication no
GSSAPICleanupCredentials no

UsePAM yes

X11Forwarding yes


AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS

Subsystem sftp  /usr/libexec/openssh/sftp-server


Match all
        AuthenticationMethods publickey,keyboard-interactive:pam password,keyboard-interactive:pam

0 ответов

Другие вопросы по тегам