A resposta de Andre de Miranda fornece uma boa solução usando pam_ssh_agent_auth , mas as peças estão desatualizadas. Particularmente as /etc/pam.d/sudo
instruções ao usar muitas versões atuais do Linux.
Se você está executando o Ubuntu 12.04 com precisão, simplifiquei o processo fornecendo uma compilação pam_ssh_agent_auth a partir 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, terá que definir as configurações e a configuração do PAM, no Ubuntu 12.04, você precisará 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 chef, o processo acima pode ser automatizado com meu livro de receitas, encontrado em um dos dois locais a seguir:
https://github.com/cpick/pam-ssh-agent-auth
http: //community.opscode .com / livros de culinária / pam-ssh-agent-auth .
O files
diretório 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 / distribuições.
/etc/sudoers
e também pode ser editado executandosudo /usr/sbin/visudo