दूसरे कंप्यूटर पर ssh निजी कुंजी कॉपी करें


52

मुझे अपने ssh सर्वर तक पहुंचने के लिए दूसरे कंप्यूटर का उपयोग करने की आवश्यकता है। ऐसा इसलिए है क्योंकि मेरे विश्वविद्यालय में हाल ही में लागू किया गया vpn मेरे वर्तमान कंप्यूटर पर काम नहीं करता है और मैंने सर्वर तक पहुंच खो दी है।

मैं एन्क्रिप्टेड ssh कुंजी के माध्यम से ssh। क्या मैं इन चाबियों को नए कंप्यूटर पर कॉपी कर सकता हूं (जिस पर वीपीएन काम करता है)। मैंने फ़ोल्डर में फ़ाइलों id_rsaऔर id_rsa.pubफ़ाइलों को कॉपी करने की कोशिश की, ~/.sshलेकिन यह कुंजियों को नहीं पहचानता है और कुंजी को डिक्रिप्ट करने के लिए पासवर्ड इनपुट करने का कोई संकेत नहीं है।

संपादित करें: मैं नए कंप्यूटर के लिए नई कुंजी जोड़ी बनाने के लिए सर्वर तक नहीं पहुंच सकता हूं और देश से बाहर हूं इसलिए शारीरिक रूप से इसका उपयोग नहीं कर सकता।

धन्यवाद।


" id_rsh" एक टाइपो है?
æंड्रिक्स

1
आप कोशिश करके समस्या के बारे में अधिक जान सकते हैं ssh -v -i ~/.ssh/id_rsa ssh-server
æंड्रिक्स

कोशिश की है कि। यह कुंजी भेजना लगता है, लेकिन उन्हें अनएन्क्रिप्ट करने के लिए कभी पासवर्ड नहीं मांगता है। मुझे एक अजीब जेनेरिक संदेश भी मिलता है "सर्वर द्वारा रोमिंग की अनुमति नहीं"। लगता है कि निजी कुंजी अभी कॉपी करने के लिए नहीं है;)। ऐसा लगता है कि मैं बस शारीरिक रूप से किसी को अपने सर्वर में लॉग इन करने और ssh सेटिंग्स बदलने के लिए भरोसा करने जा रहा हूं। आपकी सहायता के लिए धन्यवाद।
बेंज

निजी कुंजी को कभी भी कॉपी नहीं किया जाना चाहिए! यह एक सुरक्षा जोखिम है। हर नए डिवाइस के लिए नई कुंजी उत्पन्न करें !!!!
ईथर

जवाबों:


66

अपनी निजी कुंजी फ़ाइल की अनुमतियों और स्वामित्व की जांच करें। से मैनुअल ,

इन फ़ाइलों में संवेदनशील डेटा होता है और इसे उपयोगकर्ता द्वारा पठनीय होना चाहिए, लेकिन अन्य लोगों द्वारा सुलभ नहीं होता है (पढ़ें / लिखें / निष्पादित करें)। ssh बस एक निजी कुंजी फ़ाइल को नजरअंदाज कर देगा यदि यह दूसरों द्वारा सुलभ हो।

आमतौर पर कुंजी फ़ाइलों को इस तरह दिखना चाहिए,

$ ls -l ~/.ssh/id_rsa*
-rw------- 1 benj benj 1766 Jun 22  2011 .ssh/id_rsa
-rw-r--r-- 1 benj benj  388 Jun 22  2011 .ssh/id_rsa.pub

जिसे आप के माध्यम से लागू कर सकते हैं:

$ chown benj:benj ~/.ssh/id_rsa*
$ chmod 600 ~/.ssh/id_rsa
$ chmod 644 ~/.ssh/id_rsa.pub

2
धन्यवाद। यह जानना उपयोगी है। जब आप किसी फ़ाइल को किसी अन्य कंप्यूटर पर कॉपी करते हैं तो अनुमतियाँ उस उपयोगकर्ता को बदलने लगती हैं। मैंने मामले में चामोद और चाउन स्क्रिप्ट चलायी। दुर्भाग्य से इसने मेरे मुद्दे की मदद नहीं की।
बेंज

@ जॉन J यह मेरे लिए समस्या का हिस्सा हो सकता है लेकिन अन्य मुद्दों पर दिखाई दिया। मुझे अंततः किसी को सर्वर पर शारीरिक रूप से लॉगिन करने और एक नई कुंजी सेट करने के लिए मिला। लेकिन इसे स्वीकार करेंगे क्योंकि यह संभवतः एक प्रमुख मुद्दा है।
बेंज

इसने मेरे लिए, @बेनज के लिए काम किया।
सिनथिया V

14

ssh-addइससे पहले कि आप सर्वर में एसएसएच चलाने की कोशिश करें - आपको फिर पासवर्ड के लिए संकेत दिया जाना चाहिए और फिर बाद में sshकनेक्ट होने पर आपकी निजी कुंजी का उपयोग कर सकते हैं।

ssh-addकमांड कुंजी एजेंट के लिए कुंजी कहते हैं।


1
मुझे नहीं लगता कि यह मुद्दा है, क्योंकि 1) एसएसएच क्लाइंट एक कार्यात्मक कुंजी एजेंट के बिना सामना कर सकता है, 2) सर्वर "रोमिंग की अनुमति नहीं है" संदेश के साथ जवाब नहीं देगा और 3) ssh क्लाइंट के पास खुद का होगा मुख्य एजेंट से बात करते समय त्रुटि संदेश किसी तरह से विफल हो जाता है। मैंने इसके बारे में अपने विचार उत्तर दे दिए हैं
gertvdijk

इससे मेरे लिए समस्या ठीक हो गई। इसके लिए Github प्रलेखन भी देखें ।
Ionică Bizău

8

एन्क्रिप्टेड निजी कुंजियाँ उनके संबंधित सार्वजनिक कुंजी को अनएन्क्रिप्टेड रखती हैं । यह है कि एसएसएच क्लाइंट आपको पासवर्ड पूछे बिना रिमोट सर्वर से कनेक्ट कर सकता है (यह केवल उस बिंदु पर सार्वजनिक भाग प्रदान करता है)। जब भी सर्वर सार्वजनिक कुंजी को स्वीकार करता है, आपके पीसी पर क्लाइंट निजी कुंजी को डिक्रिप्ट करना चाहता है और आपको पासफ़्रेज़ के लिए पूछेगा।

अब, जब भी सर्वर केवल एक विशिष्ट आईपी पते से कनेक्शन स्वीकार करता है, तो यह पहले चरण में पहले से ही अस्वीकार कर दिया जाता है और आपको सर्वर से प्राप्त संदेश "रोमिंग सर्वर द्वारा अनुमत नहीं है" के बारे में बताता है।

तो, मेरा सबसे अच्छा अनुमान है कि इस कुंजी के लिए केवल विशिष्ट आईपी पते की अनुमति देने के लिए आपका सर्वर किसी तरह से प्रतिबंधित है। आप इसे कई तरीकों से कर सकते हैं, लेकिन यह एक आम बात है ~/.ssh/authorized_keys:

from="192.168.1.2" ssh-rsa AAAAB3NzaC[...]

यह साबित करने के लिए कि आप पासवर्ड के बिना एन्क्रिप्ट की गई निजी कुंजी से सार्वजनिक कुंजी पढ़ सकते हैं, चलाएं:

ssh-keygen -y -f /path/to/private/key

1
जब आप SSH कनेक्शन के साथ समस्या रखते हैं तो उत्तर पाने के लिए यह एक अच्छी सहायक प्रक्रिया है। धन्यवाद।
सिंहिया V
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.