ssh-copy-id - अनुमति अस्वीकृत (publickey) [बंद]


30

मैं ss सुरंग को mysql सर्वर में स्थापित करना चाहता हूं जो कंप्यूटर में है जिसमें वर्चुअल मशीन है। इसके अलावा अगर मशीन को फिर से चालू किया जाता है तो सुरंग को काम करना पड़ता है।

तो चलो कहते हैं कि A लिनक्स सॉफ्टवेयर के साथ कंप्यूटर है। B - कंप्यूटर A में वर्चुअल मशीन

MySQL बी में है।

C - कंप्यूटर A में एक वर्चुअल मशीन है जो B में MySQL से जुड़ना चाहता है।

अब इस लेख द्वारा: http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id

मैं सार्वजनिक कुंजी को दूरस्थ सर्वर पर कॉपी करने का प्रयास करता हूं। मुझे लगता है कि मुझे इसे कंप्यूटर ए पर कॉपी करने की आवश्यकता है।

ssh-copy-id -i id_rsa.pub.bak [user]@[IP of A] -p [port of A]
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).

अब मैंने id_rsa.pub.bak फ़ाइल का पासफ़्रेज़ दर्ज करने का प्रयास किया। इसने इनकार कर दिया।

तब मैं देखता हूं कि यह /home/ Isuserades/.ssh/id_rsa में कुंजी का उपयोग करता है जो कि सार्वजनिक कुंजी से अलग है जिसे मैं कॉपी करने की कोशिश कर रहा हूं, मेरा मतलब है कि निजी कुंजी अलग है, लेकिन मेरा मतलब है कि मैं दूसरे की सार्वजनिक कुंजी की प्रतिलिपि बनाता हूं निजी चाबी। इसलिए मैंने इसके पासफ़्रेज़ का उपयोग करने की कोशिश की। इससे भी इनकार किया।

मैं कैसे डिबग कर सकता हूं कि पासफ़्रेज़ को अस्वीकार क्यों किया गया है?

अद्यतन करें

टिप्पणियों के आधार पर मैंने id_rsa.pub नाम से नई सार्वजनिक फ़ाइल बनाई, जहाँ अब सब कुछ एक पंक्ति में है

और चलाते हैं और फिर भी त्रुटि मिलती है।

ssh-copy-id -i id_rsa.pub [host and port] -vvv
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).

अद्यतन करें

A कंप्यूटर में .ssh फ़ोल्डर और अधिकृत_की फ़ाइल पर अनुमतियों की जाँच की - वे 700 और 600 हैं, इसलिए टिप्पणी के अनुसार वे अच्छे हैं।

अद्यतन करें

कंप्यूटर पर हाँ और फिर से सेवा शुरू करने के लिए पासवर्ड प्रमाणीकरण की कोशिश की। जवाब देने से काम नहीं चला, इसने लिखा sshd पहचाना नहीं गया, इसलिए मैंने प्रयोग करना फिर से शुरू किया:

sudo /etc/init.d/ssh restart

फिर A मशीन पर कॉपी करने के लिए C मशीन पर फिर से कोशिश की।

ssh-copy-id -i id_rsa.pub [user@host] -p [port] -v

और अभी भी वही है:

Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).

अगर मैं मैन्युअल रूप से अधिकृत_की को कॉपी करने के लिए जाता हूं, तो मैं देखता हूं कि सार्वजनिक कुंजी पहले से मौजूद है, वही जिसे मैं कॉपी करना चाहता हूं। मैंने अपने सहकर्मी से पूछा, उन्होंने कहा कि उन्होंने इसकी नकल नहीं की है। इसलिए मुझे यह भी समझ नहीं आ रहा है कि यह कैसे हो सकता है।

ठीक है, अगर यह वहाँ है तो यह अच्छा होगा, लेकिन वहाँ रहने से यह मुझे पासफ़्रेज़ में प्रवेश किए बिना ssh से जुड़ने नहीं देता। लेकिन मैं पासफ़्रेज़ में प्रवेश करने में सक्षम था। तो यहां कुछ स्पष्ट रूप से अभी भी गलत है। और जो कुंजी मैं कॉपी करने की कोशिश कर रहा हूं वह खाली पासफ़्रेज़ के साथ है। जब मैं ssh से जुड़ा - मैंने पासफ़्रेज़ में प्रवेश किया जो खाली नहीं था।

एक ही सार्वजनिक कुंजी खाली पासफ़्रेज़ और गैर रिक्त पासप्रेज़ स्वीकार नहीं कर सकती, जो समझ में आता है। लेकिन फिर क्यों सार्वजनिक कुंजी जिसे मैं अपलोड करने की कोशिश कर रहा हूं वही पासफ्रंट्स अलग होने पर अधिकृत_की फाइल में एक के साथ एक ही है? मैंने हर एक चरित्र की जांच नहीं की, लेकिन इसकी संभावना नहीं है कि चाबियां इतनी ही होंगी कि भीगने और समाप्त होने पर भी समान होगा जब पासफ़्रेज़ अलग होगा मुझे लगता है।


id_rsaआपके पास कौन सी फाइलें शुरू होती हैं? मैं ssh-copy-idएक त्रुटि संदेश के साथ विफल करने की उम्मीद करूँगा जिस तरह से आप इसे कहते हैं, क्योंकि यह एक फ़ाइल के साथ समाप्त होने की उम्मीद करता है .pub। के रूप में तुम्हारा के साथ समाप्त होता है .bakयह शायद का उपयोग करेगा id_rsa.pub.bak.pub
क्लू

@nlu - मेरे पास id_rsa है जिसे मैंने नोटपैड ftp एक्सप्लोरर का उपयोग करके फ़ाइल को खींचकर और ड्रॉप करके कॉपी किया है। इसके अलावा id_rsa.bak है जो मैंने नोटपैड ++ से माउस के साथ नैनो और पेस्ट की गई सामग्री के साथ बनाया था, लेकिन यह देखा कि इसने एक ही पाठ किया लेकिन किसी तरह 2 कॉलम। और मेरे पास id_rsa.pub.bak भी है जो नैनो के साथ भी बनाया गया है। वास्तव में इसकी 3 लाइनें हैं, लेकिन मूल में सभी एक पंक्ति में हैं। पता नहीं क्या फर्क पड़ता है। लेकिन जैसा कि हम देखते हैं कि मुझे फ़ाइल नाम के बारे में त्रुटि संदेश नहीं मिला।
डेरियस .V

1
ऐसा होता है। उदाहरण के लिए यहां देखें: snailbook.com/faq/publickey-userauth.auto.html ("यदि आप एक टेक्स्ट एडिटर का उपयोग करते हैं, तो ध्यान रखें कि यह इस फ़ाइल में लाइनों को नहीं तोड़ता है।")।
क्लू

प्रश्न बंद है क्योंकि वे सोचते हैं कि व्यावसायिक वातावरण में इसकी व्यवस्था नहीं है, लेकिन मैं व्यावसायिक पर्यावरण समस्या को हल कर रहा था।
डेरियस .V

जवाबों:


25

आपको वास्तव में अपनी कुंजी को कॉपी करने के लिए लॉगिन करने की आवश्यकता है, आपके पास दूरस्थ मशीन (अमान्य कुंजी और पासवर्ड प्रमाणीकरण अक्षम) तक कोई पहुंच नहीं है:

/ Etc / ssh / sshd_config में पासवार्ड प्रमाणीकरण पुनः सक्षम करें:

PasswordAuthentication yes

फिर सेवा को फिर से शुरू करें:

service sshd restart

अपनी सार्वजनिक कुंजी कॉपी करें:

ssh-copy-id -i ~/.ssh/id_rsa.pub USER@HOST -p PORT
[Enter user password]

फिर से लॉगिन करने की कोशिश करें, पासवर्ड की आवश्यकता नहीं होनी चाहिए।

फिर पासवर्ड प्रमाणीकरण अक्षम करें।


क्या होगा अगर मैं पासवर्ड सर्वर को हां में सेट करूं जिसे मैं लॉगिन करना चाहता हूं, और मैं पासवर्ड का उपयोग करके पोटीन से जुड़ सकता हूं, लेकिन एसश-कॉपी-आईडी अभी भी पासवर्ड नहीं पूछता है और सिर्फ अनुमति से इनकार करता है (publickey)। ?
डेरियस .V

अरे मैं शुक्रिया कहना चाहता हूँ !!! आपने मेरा दिन बचाया !!! बहुत बहुत धन्यवाद!!!
尤川豪

@ नबील के लिए धन्यवाद, यह उबंटू 18.04 के रूप में भी काम करता है। भविष्य के पाठकों के लिए बस एक चेतावनी: निर्देशों के अनुसार संपादित करें / etc / ssh / sshd_config और निरीक्षण नहीं ssh_config, (जैसे मैंने किया था!)। इसके अलावा, ssh-copy-id USER @ HOST स्पष्ट रूप से पर्याप्त है।
स्निधि सोप्रो

12

Permission denied (publickey) रिमोट SSH सर्वर कह रहा है "मैं केवल प्रमाणीकरण विधि के रूप में सार्वजनिक कुंजी स्वीकार करता हूं, चला जाता हूं"।

यह आपकी मुख्य चुनौती है: रिमोट सिस्टम पर काम करना। एक बार जब आप ऐसा कर सकते हैं, तो आप अपनी कुंजी अपलोड कर सकते हैं:

  • ssh-copy-idयदि आप उदाहरण के लिए, अपने पुराने को बदलने की प्रक्रिया में हैं, तो इसका उपयोग करने से आपको एक अलग कुंजी निर्दिष्ट करने की अनुमति मिलेगी।
  • ~/.ssh/authorized_keysअपनी कुंजी को मैन्युअल रूप से जोड़ने के लिए दूरस्थ उपयोगकर्ता को संपादित करें ।

5

अंत में समस्या मिली।

वास्तव में मुझे सार्वजनिक कुंजी को कॉपी करने की आवश्यकता नहीं थी। समान सार्वजनिक कुंजी दोनों निजी कुंजी के लिए है - पासफ़्रेज़ के साथ और पासफ़्रेज़ के बिना। मैंने सोचा कि मेरे पास पासफ़्रेज़ के बिना निजी कुंजी है, लेकिन वास्तव में मैं नहीं था। मेरे पास केवल .ppk पासफेयर के बिना था। वह मिस कम्युनिकेशन था। तो सहकर्मी ने पासफ़्रेज़ के बिना निजी कुंजी बनाई और इसलिए अब मैं पासफ़्रेज़ के बिना ssh का उपयोग करके लॉगिन कर सकता था। मैंने पढ़ा कि पासफ़्रेज़ के बिना होना बुरा है, लेकिन सहकर्मी इसका ठीक कहता है। मुझे पासफ़्रेज़ के बिना ज़रूरत थी क्योंकि मुझे रिबूट पर शेल स्क्रिप्ट चलाने की ज़रूरत है - मैं कंप्यूटर रिबूट पर ऑटोस शुरू करना चाहता हूं।

इस तरह का समाधान इस समय है - यदि आप पासफ़्रेज़ के बिना लॉगिन करना चाहते हैं - तो जांचें कि क्या आपकी निजी कुंजी वास्तव में पासफ़्रेज़ के बिना है।

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