A resposta de Andre de Miranda fornece uma boa solução usando o pam_ssh_agent_auth , mas as partes estão desatualizadas. Particularmente as instruções /etc/pam.d/sudo
ao usar muitas versões atuais do Linux.
Se você está usando o Ubuntu 12.04 preciso, eu realmente simplifiquei o processo, fornecendo uma compilação pam_ssh_agent_auth de um ppa: ppa: cpick / pam-ssh-agent-auth .
Você pode instalar o pacote executando:
sudo add-apt-repository ppa:cpick/pam-ssh-agent-auth
sudo apt-get install pam-ssh-agent-auth
Após a instalação, se você quiser usar este módulo PAM com o sudo, você terá que configurar o sudo e a configuração do PAM. No Ubuntu 12.04, você pode fazer isso criando os dois arquivos a seguir:
/etc/sudoers.d/pam-ssh-agent-auth:
Defaults env_keep+="SSH_AUTH_SOCK"
/etc/pam.d/sudo:
ent#%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 sufficient pam_ssh_agent_auth.so file=/etc/security/authorized_keys
@include common-auth
@include common-account
@include common-session-noninteractive
Se você estiver usando o chef, o processo acima pode ser automatizado com meu livro de receitas, encontrado em um dos dois locais a seguir: link
link .
O diretório files
do livro de receitas contém os arquivos /etc/pam.d/sudo
e /etc/sudoers.d/pam-ssh-agent-auth
descritos acima que funcionam com o Ubuntu 12.04 precisos e devem ser um ponto de partida útil ao usar outras versões / distros.