
Estou tentando implementar a autenticação Yubikey via SSH. Editei meu arquivo /etc/pam.d/sshd da seguinte maneira e parece funcionarenquanto se conecta localmente( ssh user@localhost
):
#%PAM-1.0
auth required pam_yubico.so id=20682 authfile=/etc/yubikey_mappings debug trace
auth required pam_sepermit.so
auth substack password-auth
auth include postlogin
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
session include postlogin
No entanto, quando tento conectar-me a partir de uma máquina remota, ela não solicita minha chave. Qual é o problema provável?
Responder1
A lógica geral é que um programa habilitado para PAM que manipula logins de shell atingirá as pilhas auth
, account
e session
em sequência, mas um programa pode simplesmente pular qualquer uma delas se manipular uma ou mais dessas funções com suas próprias implementações.
sshd
suporta alguns modos de autenticação que não podem ser delegados ao PAM, porque dependem de métodos que não se enquadram no escopo de senha ou negociação de resposta a desafio. Normalmente são baseados em chaves ou tickets: chaves ssh, GSSAPI/krb5, etc.