Ответ Андре де Миранды дает хорошее решение с использованием pam_ssh_agent_auth , но некоторые части устарели. В частности, /etc/pam.d/sudo
инструкции при использовании многих текущих версий Linux.
Если вы используете Ubuntu 12.04, я упростил процесс, предоставив сборку pam_ssh_agent_auth из ppa: ppa: cpick / pam-ssh-agent-auth .
Вы можете установить пакет, запустив:
sudo add-apt-repository ppa:cpick/pam-ssh-agent-auth
sudo apt-get install pam-ssh-agent-auth
После установки, если вы хотите использовать этот модуль PAM с sudo, вам нужно будет настроить параметры sudo и конфигурацию PAM, в Ubuntu 12.04, точнее, вы можете сделать это, создав следующие два файла:
/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
Если вы используете chef, описанный выше процесс можно автоматизировать с помощью моей кулинарной книги, которую можно найти в любом из двух следующих мест:
https://github.com/cpick/pam-ssh-agent-auth
http: //community.opscode .com / cookbooks / pam-ssh-agent-auth .
files
Каталог поваренной книги содержит описанные выше файлы /etc/pam.d/sudo
и /etc/sudoers.d/pam-ssh-agent-auth
файлы, которые работают с Ubuntu 12.04 точно, и должны быть полезной отправной точкой при использовании других версий / дистрибутивов.
/etc/sudoers
и его также можно отредактировать, запустивsudo /usr/sbin/visudo