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 lsKhi 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 17150Như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 keyNó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-agentvà ssh-addđược phép đọc cụm từ mật khẩu của tôi cho tôi .ssh/id_dsatậ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-addtạ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 sshpassmà 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