SSH के लिए IP पते और अन्य विकल्प (जैसे IdentityFile) ~/.ssh/config
प्राप्त करने के लिए कोई भी व्यक्ति पार्स को कॉन्फ़िगर कैसे करता है ? जाहिर है जोड़ने से कोई फायदा नहीं होता।source /home/user/.ssh/config
मैं क्रोन से चलाए जाने वाले स्क्रिप्ट में विकल्पों को जोड़ना नहीं चाहता क्योंकि यह बीस से अधिक सर्वरों को कॉल करता है जिसमें अलग-अलग विकल्प होते हैं। ~/.ssh/config
जब IP पते या PEM कुंजियाँ बदल जाती हैं, तो मैं फ़ाइल को अपडेट रखता हूं , और मैं बनाए रखने के लिए उस प्रयास को किसी अन्य फ़ाइल में डुप्लिकेट नहीं करना चाहता ।
क्रोन उपयोगकर्ता के पर्यावरण को इनहेरिट नहीं करता है जो इसे कॉन्फ़िगर करता है। इस प्रकार, दी गई स्क्रिप्ट के लिए:
$ cat .ssh/config
Host alpha
Hostname 1.2.3.4
User dotan
IdentityFile ~/.ssh/Dotan.pem
IdentitiesOnly yes
$ cat script.sh
#!/bin/bash
echo "Alpha"
ssh alpha dmesg
यह काम:
$ ./script.sh > output.log
$ cat output.log
Alpha
[73542728.181371] type=1400 audit(1397118713.764:13): apparmor="STATUS" operation="profile_replace" name="/usr/lib/connman/scripts/dhclient-script" pid=710 comm="apparmor_parser"
हालांकि, यह क्रोनजोब काम नहीं करता है :
0 0 * * * /home/dotan/script.sh > /home/dotan/output.log
आउटपुट है:
Alpha
यह साबित होता है कि स्क्रिप्ट चली, लेकिन SSH कनेक्ट करने में विफल रही।
संपादित करें:
मुझे पता चला है कि ssh के पास -F /home/dotan/.ssh/config
एक विन्यास फाइल निर्दिष्ट करने का विकल्प है, लेकिन इससे समस्या हल नहीं हुई।
ssh -v
कोई भी जानकारी नहीं दे?
ssh -v
था नहीं किसी भी जानकारी दे महत्वपूर्ण था समस्या पाने के लिए नीचे दिए गए कैमरून के जवाब देने के लिए मेरी टिप्पणी देखें। धन्यवाद!