Snow Leopard'dan Lion'a yükseltme yaptım ve ssh kullanan cron işlerim artık çalışmıyor. Görünüşe göre ssh-agent artık beklendiği gibi çalışmıyor.
İşte, Snow Leopard altında harika çalışan cron denen komut dosyamın bowdlerize edilmiş bir sürümü:
#!/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
Komut isteminden çalıştırıldığında, bu komut dosyası beklendiği gibi çalışır.
Cron'dan çalıştırıldığında işe yaramıyor. Ssh-agent çıkışı normal görünüyor:
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
Ancak ssh -vvvçıktı, özel anahtarın okunması gerektiğinde başarısız olduğunu gösterir:
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
Başka bir deyişle, ~/.ssh/id_dsaelbette cron işlerinde çalışmayan parolayı yazmamı bekliyorum .
Bütün bunlar Snow Leopard'da çalıştı.
O kadar Anahtarlık Erişim kurulum var olduğunu Not ssh, ssh-agentve ssh-addbenim için benim parola okumak için izin verilir .ssh/id_dsaşimdiye benim parolayı girmek zorunda kalmadan bir terminal istemi gelen SSH bir sonucu olarak - dosyada.
ssh-addGiriş işlemimin bir noktasında çalıştırmam gereken bu sorun mu? Standart bir bash komut isteminden çalıştırmak cron işine yardımcı olmaz (garip bir şekilde, parolamı istememi ister ... ki bu anahtarlık erişim yapılandırmasının gerekli olmadığını düşünüyorum).
NOT 1 - beni yönlendirmeden önce - Burada benzer bir soru olduğunun farkındayım (
Mac OS X Lion ve sshpass ) ama özellikle sshpasskullanmadığım bir programla ilgili (bu sorunun bu soru tarafından da cevaplanacağına inanıyorum) ).
NOT 2 - Parola içermeyen SSH anahtarlarının sorunumu çözeceğini anlıyorum; ancak bu rotaya gitmemeyi tercih ederim.