Estou testando a autenticação de dois fatores para logins do ssh em alguns contêineres do CentOS em nosso ambiente de testes.
Eu compilei meu próprio rpms da fonte do github, instalei e configurei tudo e coloquei a configuração padrão em funcionamento. Eu recebo a solicitação do token primeiro e depois da senha do usuário.
O que estou tentando fazer agora é mudar a ordem dos dois fatores. Eu tenho um requisito para pedir senha primeiro e para o token por último, mas não consegui configurar isso.
É assim que /etc/pam.d/sshd
fica após a instalação:
#%PAM-1.0
auth required pam_google_authenticator.so nullokt
auth required pam_sepermit.so
auth include password-auth
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 optional pam_keyinit.so force revoke
session include password-auth
Eu tentei mover os parâmetros da primeira seção sem sorte. Por exemplo, se eu mover a linha google_authenticator para a parte inferior da seção de inicialização, somente a autenticação de senha será ativada.
Editar:
Eu li a documentação do PAM, mas não consigo fazer isso. Eu tentei empacotar o google-authenticator com /etc/pam.d/password-auth, mas nada mudou. É um token primeiro e uma senha em segundo ou apenas uma senha.