Chỉ cần nâng cấp từ Snow Leopard lên Lion, và các công việc định kỳ của tôi sử dụng ssh đã ngừng hoạt động. Dường như ssh-agent không còn hoạt động như mong đợi.
Đây là phiên bản được cải tiến của kịch bản được gọi là từ cron của tôi hoạt động rất tốt trong Snow Leopard:
#!/bin/bash
whoami # just to verify I'm running as myself, not root
ssh-agent # just to see what it outputs
eval `ssh-agent`
ssh -vvv REMOTESERVER ls
Khi chạy từ dấu nhắc lệnh, tập lệnh này hoạt động như mong đợi.
Khi chạy từ cron, nó không hoạt động. Đầu ra ssh-agent trông bình thường:
SSH_AUTH_SOCK=/tmp/ssh-QRxPUMRxbu/agent.17147; export SSH_AUTH_SOCK;
SSH_AGENT_PID=17148; export SSH_AGENT_PID;
echo Agent pid 17148;
Agent pid 17150
Nhưng ssh -vvv
đầu ra cho thấy nó bị lỗi ngay khi đọc khóa riêng:
debug1: Server accepts key: pkalg ssh-dss blen 818
debug2: input_userauth_pk_ok: fp ...
debug3: sign_and_send_pubkey: DSA ...
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
debug1: read_passphrase: can't open /dev/tty: Device not configured
debug2: no passphrase given, try next key
Nói cách khác, nó hy vọng tôi gõ cụm mật khẩu cho ~/.ssh/id_dsa
, tất nhiên điều này không hoạt động trong các công việc định kỳ.
Tất cả điều này đã làm việc trong Snow Leopard.
Lưu ý rằng tôi đã có thiết lập Keychain Access để ssh
, ssh-agent
và ssh-add
được phép đọc cụm từ mật khẩu của tôi cho tôi .ssh/id_dsa
tập tin - kết quả là tôi có thể SSH từ một dấu nhắc terminal mà không bao giờ cần phải nhập cụm từ mật khẩu của tôi.
Đây có phải là vấn đề mà tôi cần phải chạy ssh-add
tại một số điểm trong quá trình đăng nhập của mình không? Chạy nó từ một dấu nhắc bash tiêu chuẩn không giúp ích cho công việc định kỳ (mặc dù, thật kỳ lạ, nó nhắc tôi cho cụm mật khẩu của tôi ... mà tôi nghĩ là không cần thiết b / c của cấu hình Keychain Access).
CHÚ THÍCH 1 - trước khi chuyển hướng cho tôi - Tôi biết có một câu hỏi tương tự ở đây (
Mac OS X Lion và sshpass ) nhưng cụ thể là về một chương trình sshpass
mà tôi không sử dụng (mặc dù tôi tin rằng câu hỏi này cũng sẽ được trả lời bởi câu hỏi này ).
LƯU Ý 2 - Tôi nhận ra rằng các khóa SSH không có cụm mật khẩu sẽ giải quyết vấn đề của tôi; tuy nhiên tôi không muốn đi theo con đường này