SSH मेरी अधिकृत कुंजी का सम्मान क्यों नहीं कर रहा है?


3

मेरे पास घर पर 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 मशीन) में होगा; इसलिए बिल्ड सर्वर के लिए मेरे लैन के अंदर से एक "समर्पित" आईपी होना आवश्यक है। मैं इन बैश लिपियों को पासवर्ड के साथ स्पष्ट रूप से फीड नहीं करना चाहता, इसलिए मैंने एसएसएच कीज उत्पन्न करने के लिए इस लेख के निर्देशों का पालन किया । विशेष रूप से, मैं:

  1. मेरे ग्राहक लैपटॉप पर SSH कुंजियाँ id_rsa.pubबनाएँ ( फ़ाइल का निर्माण )
  2. मैं scp'd id_rsa.pubअपने निर्माण सर्वर पर फ़ाइल, और cat' में d ~/.ssh/authorized_keysफ़ाइल। मैंने सत्यापित किया कि मेरे क्लाइंट लैपटॉप की SSH कुंजी अब authorized_keysबिल्ड सर्वर पर फ़ाइल के अंदर मौजूद है।
  3. मैंने अपने क्लाइंट लैपटॉप पर टर्मिनल बंद कर दिया और फिर एक नया फिर से खोल दिया, बस अच्छे उपाय के लिए (यदि लिनक्स को कुछ भी फिर से शुरू करने के लिए आवश्यक है, तो)
  4. मैंने तब बिल्ड सर्वर में SSH की कोशिश की, और मुझे अभी भी पासवर्ड के लिए प्रेरित किया जा रहा है!

यहाँ क्या चल रहा है? मेरे बिल्ड सर्वर पर SSH मेरे क्लाइंट लैपटॉप से ​​अधिकृत कुंजियों का सम्मान क्यों नहीं कर रहा है? क्या मुझे बिल्ड सर्वर ( sshdआदि) पर कुछ भी पुनरारंभ करने की आवश्यकता है ? क्या मैंने यहां कोई महत्वपूर्ण कदम उठाया है? समस्या निवारण कैसे शुरू करें? अग्रिम में धन्यवाद!

अपडेट : जाहिरा तौर पर Ubuntu एक नहीं है /var/log/secure.log, लेकिन करता है एक है /var/log/auth.log। जब मैं इस लॉग को बिल्ड सर्वर पर रखता हूं, और फिर अपने क्लाइंट लैपटॉप से ​​बिल्ड सर्वर में SSH का प्रयास करता हूं, तो यहां क्या होता है:

  1. मैं ssh myuser@buildserverक्लाइंट लैपटॉप से चलाता हूं
  2. मुझे एक पासवर्ड के लिए संकेत दिया गया है।
  3. जैसे ही मैं पासवर्ड दर्ज करता हूं, मुझे बिल्ड सर्वर की 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) पर - क्या दोनों मशीनों पर समान उपयोगकर्ता नाम के कारण लिनक्स भ्रमित हो सकता है?


1
"मैक बाइंडिंग" के लिए सामान्य शब्द एक निरंतर डीएचसीपी आरक्षण है
डारथ Android

क्या आपकी सार्वजनिक कुंजी के साथ शुरू होता है ssh-rsaया ---- BEGIN SSH2 PUBLIC KEY ----?
डार्थ एंड्रॉइड

प्यास, ssh-rsa... कि मेरी निजी कुंजी है?
पोंगोंग्रटा

नहीं, यह सिर्फ इतना है कि मेरी कुंजी प्रविष्टियां कैसी हैं, लेकिन उपकरण हमेशा बाद के प्रकार को उत्पन्न करते हैं, और मैं हमेशा उन्हें परिवर्तित करता हूं। मेरा जवाब देखिए।
डार्थ एंड्रॉइड

क्या आप ssh-agentअपनी निजी कुंजी को प्रबंधित करने के लिए उपयोग कर रहे हैं ? यदि आप उपयोग करते हैं तो क्या यह काम करता है SSH_AUTH_SOCK=0 ssh buildserver?
डारथ Android

जवाबों:


6

पहला कदम: ssh के साथ पुनः आरंभ करें /etc/init.d/sshd restart। यह भी सुनिश्चित करें कि अधिकृत_सर्स फ़ाइल पर अनुमतियाँ सही हैं। सत्यापन, उपयोग chmod 600 ~/.ssh/authorized_keysऔर यह सुनिश्चित करने के लिए कि यह उस उपयोगकर्ता के स्वामित्व में है जिसे आप लॉग इन कर रहे हैं।


1
धन्यवाद @Nathan सी (+1) - मैं दोनों suggstions की कोशिश की: मैं पुन: प्रारंभ ssh(के माध्यम से sudo service ssh stopतो sudo service ssh start), और फिर मैं अनुमतियों को बदल दिया authorized_keys750 से 700 कृपया ध्यान दें कि मैं एक सेवा कहा जाता है को पुनः आरंभ ssh, नहीं sshd पसंद आप का सुझाव दिया। sshdमेरे बिल्ड सर्वर पर स्थापित एक सेवा प्रतीत नहीं होती है (इसके उबंटू डेस्कटॉप को याद रखें), तो क्या यह मेरी समस्या हो सकती है? यदि हां, तो क्या तय है? यदि नहीं, तो कुछ और आप सोच सकते हैं? एक बार फिर धन्यवाद!
पोंगोंगरा

2
डेस्कटॉप भाग कोई फर्क नहीं पड़ता (क्योंकि यह सिर्फ GUI है जो इसे "डेस्कटॉप" बनाता है)। क्या /var/log/secure.logकुछ भी कुंजी को संदर्भित करता है?
नाथन सी

1
@ टिकटमॉन्स्टर- आपको भी इसकी आवश्यकता है cat id.pub >> authorized_keys2। अपने ssh प्रोटोकॉल सक्षम आधार पर, आप की जरूरत है दोनों authorized_keysऔर authorized_keys2। सेवा को पुनरारंभ करना अनावश्यक है, जब तक कि आप ssh / sshd कॉन्फ़िगरेशन को नहीं बदलते।
nerdwaller

1
ऐसा लगता है कि सार्वजनिक कुंजी दूषित है। इसे फिर से कॉपी करने की कोशिश करें। यदि आवश्यक हो, तो अपने कीपेयर को फिर से शुरू करें और खरोंच से शुरू करें।
नाथन सी

2
मैंने @NathanC जैसी कुंजियों को फिर से सुझाया - और अब यह काम करती है! सभी को धन्यवाद!!
पोंगोंग्रटा

5

मेरे लिए, id_rsa.pub को हटाने में मदद मिली (मैं ~ / .ssh / id_rsa कुंजी का उपयोग कर रहा था)। यह कारण था, क्योंकि id_rsa.pub मेरी id_rsa कुंजी से मेल नहीं खा रहा था।


1

आपकी सार्वजनिक कुंजी किस प्रारूप में है?

मुझे लगता है कि बहुत सारे उपकरण इस तरह से चाबियाँ बनाते हैं:

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "1024-bit RSA, converted from OpenSSH by me@example.com"
AAAAB3NzaC1yc2EAAAABIwAAAIEA1on8gxCGJJWSRT4uOrR13mUaUk0hRf4RzxSZ1zRb
YYFw8pfGesIFoEuVth4HKyF8k1y4mRUnYHP1XNMNMJl1JcEArC2asV8sHf6zSPVffozZ
5TT4SfsUu/iKy9lUcCfXzwre4WWZSXXcPff+EHtWshahu3WzBdnGxm5Xoi89zcE=
---- END SSH2 PUBLIC KEY ----

और मेरी authorized_keysफ़ाइल में हमेशा इस तरह की कुंजी होती है:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA1on8gxCGJJWSRT4uOrR13mUaUk0hRf4RzxSZ1zRbYYFw8pfGesIFoEuVth4HKyF8k1y4mRUnYHP1XNMNMJl1JcEArC2asV8sHf6zSPVffozZ5TT4SfsUu/iKy9lUcCfXzwre4WWZSXXcPff+EHtWshahu3WzBdnGxm5Xoi89zcE=

(सार्वजनिक कुंजी एक लाइन पर सभी को एक साथ मिलाया गया)


धन्यवाद @ डर्थ एंड्रॉइड (+1) - मेरी सार्वजनिक कुंजी शुरू होती है ssh-rsa, ---- BEGIN...शैली नहीं । यह आपको क्या कहता है?
पोंगोंगरा

1
बस यह जवाब नहीं है। क्षमा करें :(
डार्थ Android
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.