Configurando a autenticação PAM sudo
, usando ssh-agent
, no servidor LTS 14.04.1 do Ubuntu.
Ainda não consigo autenticar com sucesso o sudo, por meio do agente ssh, usando o PAM.
Aqui estão as minhas entradas /var/log/auth.log
relevantes ...
Jun 17 11:31:16 host sudo[21318]: pam_ssh_agent_auth: Beginning pam_ssh_agent_auth for user userName
Jun 17 11:31:16 host sudo[21318]: pam_ssh_agent_auth: Attempting authentication: 'userName' as 'userName' using /etc/security/authorized_keys
Jun 17 11:31:16 host sudo[21318]: pam_ssh_agent_auth: Contacted ssh-agent of user userName (1000)
Jun 17 11:31:16 host sudo[21318]: pam_ssh_agent_auth: Failed Authentication: 'userName' as 'userName' using /etc/security/authorized_keys
Como você pode ver, ele contata com sucesso o ssh-agent
, mas a autenticação falha. O PAM retorna ao (s) próximo (s) método (s) de autenticação, e solicita a senha do sudo / userName, então eu posso prosseguir. Estou tentando configurá-lo, para que você não precise de uma sudo
senha, contanto que você se conecte via ssh
com uma chave autorizada.
Aqui estão os arquivos relevantes e seu conteúdo:
/etc/pam.d/sudo
#%PAM-1.0
auth sufficient pam_ssh_agent_auth.so file=/etc/security/authorized_keys debug
auth required pam_env.so readenv=1 user_readenv=0
auth required pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
@include common-auth
@include common-account
@include common-session-noninteractive
informações do arquivo / etc / security / authorized_keys : este arquivo contém 4 ssh-rsa
chaves públicas.
-rw-r--r-- 1 root root 1597 Jun 16 16:07 /etc/security/authorized_keys
/ etc / sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_keep += SSH_AUTH_SOCK
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
E, pelo bem da sanidade, você pode ver que o SSH_AUTH_SOCK
está de fato sendo "passado pela corrente sudo
" corretamente ...
printenv | grep SSH
SSH_AUTH_SOCK=/tmp/ssh-m9Ume3GOIP/agent.15964
sudo printenv | grep SSH
SSH_AUTH_SOCK=/tmp/ssh-m9Ume3GOIP/agent.15964
Eu ssh no servidor via
ssh -A host@ip_address
Vou incluir qualquer outra informação que possa ser útil, basta perguntar:)
Estou nisso há mais de um dia e descobri dezenas de "howtos" para configurar o PAM sudo
authentication usando ssh
keys, e todos são semelhantes ... mas posso Não encontre nada que possa esclarecer por que a autenticação do PAM falha, após entrar em contato / comunicação com o ssh-agent
.
Obrigado antecipadamente!
UPDATE
ssh-add
no lado do cliente, foi o truque. Eu não sou um "usuário de energia ssh", mas isso me dá o que eu preciso para descobrir a causa raiz. Obrigado!