Конфигурация, которую я хочу, возможна? Проблемы с 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