Você deve conseguir mudar isso:
auth [success=1 default=ignore] pam_ssh_agent_auth.so file=/etc/security/authorized_keys
para isso:
auth [retry=1 success=1 default=ignore] pam_ssh_agent_auth.so file=/etc/security/authorized_keys
Para maior segurança, eu gostaria de exigir uma chave privada para usar o sudo na minha caixa Ubuntu Server. Eu adicionei a autenticação de chave privada para o sudo, conforme descrito no link . Eu também tentei desativar a autenticação baseada em senha fazendo /etc/pam.d/sudo
ler da seguinte forma:
#%PAM-1.0
auth required pam_env.so readenv=1 user_readenv=0
auth required pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
auth [success=1 default=ignore] pam_ssh_agent_auth.so file=/etc/security/authorized_keys
auth requisite pam_deny.so
auth required pam_permit.so
auth optional pam_cap.so
@include common-account
@include common-session-noninteractive
Parece funcionar, mas eu queria verificar para não deixar de ter uma enorme falha de segurança. Além disso, se eu tentar usar o sudo sem ter uma chave privada, ele tentará três vezes antes de falhar:
Sorry, try again.
Sorry, try again.
Sorry, try again.
sudo: 3 incorrect password attempts
Este não é um grande problema, mas recebo sempre um aviso de segurança, pelo que seria bom tentar apenas uma vez.
Você deve conseguir mudar isso:
auth [success=1 default=ignore] pam_ssh_agent_auth.so file=/etc/security/authorized_keys
para isso:
auth [retry=1 success=1 default=ignore] pam_ssh_agent_auth.so file=/etc/security/authorized_keys