बस स्नो लेपर्ड से शेर में अपग्रेड किया गया, और मेरे क्रॉन जॉब्स जो ssh का उपयोग करते हैं, ने काम करना बंद कर दिया है। ऐसा प्रतीत होता है कि ssh-agent अब अपेक्षित रूप से कार्य नहीं कर रहा है।
यहाँ मेरे तथाकथित-से-क्रोन लिपि का एक झुका हुआ संस्करण है जो स्नो लेपर्ड के तहत बहुत अच्छा काम करता है:
#!/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
जब कमांड प्रॉम्प्ट से चलाया जाता है, तो यह स्क्रिप्ट अपेक्षित रूप से काम करती है।
क्रोन से चलाने पर, यह काम नहीं करता है। Ssh- एजेंट आउटपुट सामान्य दिखता है:
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
लेकिन ssh -vvv
आउटपुट से पता चलता है कि निजी कुंजी को पढ़ने पर यह सही विफल हो जाती है:
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
दूसरे शब्दों में, यह मुझे उम्मीद कर रहा है कि मैं पासफ़्रेज़ में टाइप करूं ~/.ssh/id_dsa
, जो निश्चित रूप से क्रॉन नौकरियों में काम नहीं करता है।
यह सब स्नो लेपर्ड में काम करता था।
ध्यान दें कि मैं कीचेन पहुंच सेटअप मिल गया है ताकि ssh
, ssh-agent
है, और ssh-add
मेरी के लिए मेरे पदबंध को पढ़ने के लिए अनुमति दी जाती है .ssh/id_dsa
फ़ाइल - एक परिणाम मैंने कभी अपने पदबंध दर्ज किए बिना एक टर्मिनल शीघ्र से SSH कर सकते हैं।
क्या यह समस्या है कि मुझे ssh-add
अपनी लॉगिन प्रक्रिया में कुछ बिंदु पर चलने की आवश्यकता है ? मानक बैश प्रॉम्प्ट से इसे चलाने से क्रोन जॉब करने में मदद नहीं मिलती है (हालांकि, अजीब तरह से, यह मुझे मेरे पासफ़्रेज़ के लिए संकेत देता है ... जो मुझे लगता है कि किचेन एक्सेस कॉन्फ़िगरेशन का आवश्यक बी / सी नहीं है)।
नोट 1 - मुझे पुनर्निर्देशित करने से पहले - मुझे पता है कि यहाँ एक समान प्रश्न है (
Mac OS X Lion और sshpass ) लेकिन यह विशेष रूप से एक ऐसे कार्यक्रम के बारे में है sshpass
जिसका मैं उपयोग नहीं करता (हालाँकि मेरा मानना है कि प्रश्न का उत्तर इस एक के रूप में दिया जाएगा) )।
नोट 2 - मुझे एहसास है कि पासफ़्रेज़-कम एसएसएच चाबियाँ मेरी समस्या को हल करेंगी; हालाँकि मैं इस मार्ग पर नहीं जाना चाहूँगा।