Câu trả lời của Andre de Miranda cung cấp một giải pháp hay bằng cách sử dụng pam_ssh_agent_auth , nhưng các phần đã lỗi thời. Đặc biệt là các /etc/pam.d/sudo
hướng dẫn khi sử dụng nhiều phiên bản Linux hiện tại.
Nếu bạn đang chạy Ubuntu 12.04 chính xác, tôi thực sự đã đơn giản hóa quy trình bằng cách cung cấp bản dựng pam_ssh_agent_auth từ ppa: ppa: cpick / pam-ssh-agent-auth .
Bạn có thể cài đặt gói bằng cách chạy:
sudo add-apt-repository ppa:cpick/pam-ssh-agent-auth
sudo apt-get install pam-ssh-agent-auth
Sau khi cài đặt, nếu bạn muốn sử dụng mô-đun PAM này với sudo, bạn sẽ phải định cấu hình cài đặt của sudo và cấu hình PAM, trong Ubuntu 12.04 chính xác, bạn có thể làm điều đó bằng cách tạo hai tệp sau:
/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
Nếu bạn đang sử dụng đầu bếp, quy trình trên có thể được tự động hóa với sách dạy nấu ăn của tôi, được tìm thấy tại một trong hai địa điểm sau:
https://github.com/cpick/pam-ssh-agent-auth
http: //community.opscode .com / cookbooks / pam-ssh-agent-auth .
Thư mục của cookbook files
chứa các tệp /etc/pam.d/sudo
và /etc/sudoers.d/pam-ssh-agent-auth
các tệp được mô tả ở trên hoạt động với Ubuntu 12.04 chính xác và phải là điểm khởi đầu hữu ích khi sử dụng các phiên bản / bản phát hành khác.
/etc/sudoers
và nó cũng có thể được chỉnh sửa bằng cách chạysudo /usr/sbin/visudo