Tôi đã thiết lập một tài khoản người dùng mới cho một người bạn trên Kubfox 12.04. Khi anh ta sử dụng ssh
, anh ta nhận được lỗi này:
Không thể mở kết nối đến đại lý xác thực của bạn
Chúng tôi đang chạy ssh
trong một số tập lệnh bash.
Sau khi nhìn xung quanh rất nhiều thứ có thể dẫn đến lỗi đó, tôi đã tìm ra giải pháp này:
$ eval `ssh-agent -s`
$ ssh-add ~/.ssh/some_id_rsa
Sau đó anh ta có thể chạy các ssh
lệnh (và bash scripts) như mong đợi.
Trước khi chạy hai lệnh đó, các biến env không được đặt trong terminal:
$ echo $SSH_AGENT_PID
$ echo $SSH_AUTH_SOCK
$
Sau khi chạy các lệnh, các biến env được đặt như mong đợi. Tuy nhiên, chúng không được đặt (ví dụ: trong một vỏ khác hoặc sau khi khởi động lại).
Tôi muốn biết cách thiết lập máy tính của anh ấy để anh ấy không phải chạy hai lệnh đó để đặt biến env. Tôi không cần phải chạy chúng trên máy tính của mình (bao giờ). Cho đến nay tôi không thấy có gì khác biệt giữa các máy của chúng tôi.
Tôi thấy thông tin này trong trang hướng dẫn, nhưng nó không cho tôi biết Ubuntu thường tự động thiết lập tác nhân như thế nào hoặc những gì đang xảy ra trên máy của bạn tôi để nó không hoạt động với anh ta.
Có hai cách chính để thiết lập một tác nhân: Cách thứ nhất là tác nhân bắt đầu một tiểu ban mới trong đó một số biến môi trường được xuất, ví dụ: ssh-agent xterm &. Thứ hai là tác nhân in các lệnh shell cần thiết (có thể tạo cú pháp sh (1) hoặc csh (1)) có thể được tìm thấy trong shell gọi, ví dụ: eval
ssh-agent -s
cho các shell kiểu Bourne như sh (1) hoặc ksh (1) và evalssh-agent -c
cho csh (1) và các dẫn xuất.
Sau khi cài đặt acct
và khởi động lại, đây là đầu ra của lastcomm
:
ssh-agent F newuser __ 0.12 secs Wed Aug 7 11:02
ssh-agent F newuser __ 0.00 secs Wed Aug 7 20:34
ssh-agent F newuser __ 0.02 secs Wed Aug 7 20:02
ssh-agent F newuser __ 0.01 secs Thu Aug 8 12:39
ssh-agent F newuser __ 0.02 secs Thu Aug 8 07:45
Từ trang người đàn ông:
Lệnh F - được thực hiện sau một ngã ba nhưng không có lệnh thực thi sau
Tôi không chắc điều đó có ý nghĩa hay không.
X11/Xsession.options:use-ssh-agent
và X11/Xsession.d/90x11-common_ssh-agent:SSHAGENT=/usr/bin/ssh-agent
. Tôi sẽ cố gắng acct
và lastcomm
tiếp theo. Cảm ơn
lastcomm
cho một phiên đầy đủ, không chỉ là ssh-agent
quá trình. Vấn đề là để xem thứ tự các chương trình khác nhau được bắt đầu.
ssh-agent
thường được bắt đầu từ/etc/X11/Xsession.d/90x11-common_ssh-agent
. Điều này có thể được ngăn chặn bằng cách loại bỏuse-ssh-agent
từ/etc/X11/Xsession
. Những tập tin đó có đúng không? Là tác nhân bắt đầu và sau đó bị giết hoặc không bao giờ bắt đầu? (Cài đặtacct
và chạylastcomm
sau khi đăng nhập để xem những gì chương trình đã được lauched.)