मेरे पास घर पर 2 लैपटॉप हैं, दोनों Ubuntu 12.04 (डेस्कटॉप) पर चल रहे हैं, और दोनों एक ही NetGear वाईफाई राउटर का उपयोग कर रहे हैं। मैंने मशीनों में से एक पर "मैक बाइंडिंग" नामक एक तकनीक का इस्तेमाल किया, ताकि राउटर हमेशा इसे उसी तरह से 192.168.1.52 आईपी पते पर इंटरनेट से कनेक्ट करने की कोशिश करता है। ( असंबंधित: मैक बाइंडिंग का अर्थ है एक विशिष्ट आईपी के लिए हमेशा एक विशिष्ट मैक पते को बांधने के लिए राउटर को कॉन्फ़िगर करना। )
तो अब, मेरे पास 1 लैपटॉप है जिसे हमेशा 192.168.1.1 से 192.168.1.50 रेंज में एक यादृच्छिक आईपी सौंपा जाता है, और 1 लैपटॉप (मेरा "बिल्ड सर्वर") जो हमेशा 192.168.1.52 को सौंपा जाता है।
मैं कुछ बैश स्क्रिप्ट लिखने की कोशिश कर रहा हूं जिसे मैं "क्लाइंट" लैपटॉप (यादृच्छिक आईपी मशीन) पर ssh
चलाऊंगा जो कि बिल्ड सर्वर (192.169.1.52 मशीन) में होगा; इसलिए बिल्ड सर्वर के लिए मेरे लैन के अंदर से एक "समर्पित" आईपी होना आवश्यक है। मैं इन बैश लिपियों को पासवर्ड के साथ स्पष्ट रूप से फीड नहीं करना चाहता, इसलिए मैंने एसएसएच कीज उत्पन्न करने के लिए इस लेख के निर्देशों का पालन किया । विशेष रूप से, मैं:
- मेरे ग्राहक लैपटॉप पर SSH कुंजियाँ
id_rsa.pub
बनाएँ ( फ़ाइल का निर्माण ) - मैं
scp
'did_rsa.pub
अपने निर्माण सर्वर पर फ़ाइल, औरcat
' में d~/.ssh/authorized_keys
फ़ाइल। मैंने सत्यापित किया कि मेरे क्लाइंट लैपटॉप की SSH कुंजी अबauthorized_keys
बिल्ड सर्वर पर फ़ाइल के अंदर मौजूद है। - मैंने अपने क्लाइंट लैपटॉप पर टर्मिनल बंद कर दिया और फिर एक नया फिर से खोल दिया, बस अच्छे उपाय के लिए (यदि लिनक्स को कुछ भी फिर से शुरू करने के लिए आवश्यक है, तो)
- मैंने तब बिल्ड सर्वर में SSH की कोशिश की, और मुझे अभी भी पासवर्ड के लिए प्रेरित किया जा रहा है!
यहाँ क्या चल रहा है? मेरे बिल्ड सर्वर पर SSH मेरे क्लाइंट लैपटॉप से अधिकृत कुंजियों का सम्मान क्यों नहीं कर रहा है? क्या मुझे बिल्ड सर्वर ( sshd
आदि) पर कुछ भी पुनरारंभ करने की आवश्यकता है ? क्या मैंने यहां कोई महत्वपूर्ण कदम उठाया है? समस्या निवारण कैसे शुरू करें? अग्रिम में धन्यवाद!
अपडेट : जाहिरा तौर पर Ubuntu एक नहीं है /var/log/secure.log
, लेकिन करता है एक है /var/log/auth.log
। जब मैं इस लॉग को बिल्ड सर्वर पर रखता हूं, और फिर अपने क्लाइंट लैपटॉप से बिल्ड सर्वर में SSH का प्रयास करता हूं, तो यहां क्या होता है:
- मैं
ssh myuser@buildserver
क्लाइंट लैपटॉप से चलाता हूं - मुझे एक पासवर्ड के लिए संकेत दिया गया है।
- जैसे ही मैं पासवर्ड दर्ज करता हूं, मुझे बिल्ड सर्वर की
auth.log
फ़ाइल में निम्न आउटपुट दिखाई देता है :
May 21 12:02:07 buildserver sshd[28930]: error: RSA_public_decrypt failed: error:0407006A:lib(4):func(112):reason(106)
May 21 12:02:10 buildserver sshd[28930]: pam_sm_authenticate: Called
May 21 12:02:10 buildserver sshd[28930]: pam_sm_authenticate: username = [myuser]
May 21 12:02:10 buildserver sshd[28930]: pam_sm_authenticate: /home/myuser is already mounted
May 21 12:02:10 buildserver sshd[28930]: Accepted password for myuser from 192.168.1.3 port 39821 ssh2
May 21 12:02:10 buildserver sshd[28930]: pam_unix(sshd:session): session opened for user myuser by (uid=0)
May 21 12:02:10 buildserver sshd[29003]: Received disconnect from 192.168.1.3: 11: disconnected by user
May 21 12:02:10 buildserver sshd[28930]: pam_unix(sshd:session): session closed for user myuser
कुछ ऐसा जो शायद मुझे उल्लेख करना चाहिए: दोनों मशीनों (क्लाइंट लैपटॉप और मेरे बिल्ड सर्वर, उपयोगकर्ता नाम / खाता नाम myuser
) पर - क्या दोनों मशीनों पर समान उपयोगकर्ता नाम के कारण लिनक्स भ्रमित हो सकता है?
ssh-rsa
या ---- BEGIN SSH2 PUBLIC KEY ----
?
ssh-rsa
... कि मेरी निजी कुंजी है?
ssh-agent
अपनी निजी कुंजी को प्रबंधित करने के लिए उपयोग कर रहे हैं ? यदि आप उपयोग करते हैं तो क्या यह काम करता है SSH_AUTH_SOCK=0 ssh buildserver
?