यदि कुंजी का नाम id_rsa नहीं है तो यह काम नहीं करता है


14

मैंने SSH में पासफ़्रेज़ से कनेक्ट करने के लिए एक कुंजी बनाई। मैंने अपनी चाबी नाम की है id_rsa_admin। जब मैं लॉग इन करता हूं, तो निम्न संदेश प्रदर्शित होता हैPermission denied (publickey).

लॉग में, मुझे लगता है कि ssh एक फ़ाइल की तलाश में है id_rsaऔर इसलिए सही फ़ाइल नहीं मिलती है।

मुझे लगता है कि अगर कुंजी का नाम नहीं है तो id_rsaयह काम नहीं करता है।

Ssh में कैसे कनेक्ट करें?

~/.ssh/id_rsa_admin

ssh admin@vps718449.ovh.net -p 9215

जवाबों:


39

एक समय के कनेक्शन के लिए एरोनिकल का जवाब अच्छा है, लेकिन लंबी अवधि में दर्दनाक होगा। sshइस सर्वर से कनेक्ट करते समय हमेशा इस कुंजी का उपयोग करने के लिए , आप इसे अपने में जोड़ सकते हैं ~/.ssh/config(या मौजूद न होने पर इसे बना सकते हैं:)

Host vps718449.ovh.net
    IdentityFile ~/.ssh/id_rsa_admin

तो आप बस के साथ कनेक्ट कर सकते हैं ssh admin@vps718449.ovh.net -p 9215। अतिरिक्त बोनस के रूप में आप पोर्ट को भी कॉन्फ़िगर कर सकते हैं:

Host vps718449.ovh.net
    IdentityFile ~/.ssh/id_rsa_admin
    Port 9215

तब आप बस के साथ कनेक्ट कर सकते हैं ssh admin@vps718449.ovh.net। आगे भी:

Host vps718449.ovh.net vps
     Hostname vps718449.ovh.net
     User admin
     IdentityFile ~/.ssh/id_rsa_admin
     Port 9215

फिर बस ssh vpsकाम करेंगे! बेशक vpsकेवल एक उदाहरण है, आप किसी अन्य उपनाम का उपयोग कर सकते हैं जिसे आप चाहते हैं (उदाहरण के लिए यदि आपके पास एक से अधिक वीपीएस है)। man ssh_configउन विकल्पों की सूची देखें जिन्हें आप वहां सेट कर सकते हैं।


@fkraiem धन्यवाद। तीन चाबियों के साथ कैसे करें?
मैथ्यू

1
@ मैथ्यू क्यों तीन चाबियाँ? यदि यह तीन अलग-अलग मेजबानों के लिए है, तो प्रत्येक मेजबान के लिए एक प्रविष्टि जोड़ें, प्रत्येक उपयुक्त कुंजी के साथ।
fkraiem

@fkraiem मेरे पास एक ही सर्वर पर 3 अलग-अलग कुंजियाँ हैं, लेकिन 3 उपयोगकर्ता के लिए
मैथ्यू

@ मैथ्यू मैं अभी इसकी पुष्टि नहीं कर सकता, लेकिन मुझे लगता IdentityFileहै कि Hostअनुभाग में केवल तीन पंक्तियों को जोड़ने से काम करना चाहिए। इसके अलावा, यदि आप एक Userपंक्ति डालते हैं, तो वह उपयोगकर्ता उस होस्ट से कनेक्ट करते समय डिफ़ॉल्ट हो जाएगा, लेकिन आप अभी भी इसे ओवरराइड कर सकते हैं @
fkraiem

@fkraiem आपका बहुत-बहुत धन्यवाद। यह काम करता है, लेकिन निम्न त्रुटि प्रदर्शित की जाती है "एजेंट ने कुंजी का उपयोग करके हस्ताक्षर करने में विफलता को स्वीकार किया"। मैं कनेक्ट करने के लिए "SSH_AUTH_SOCK = 0" का उपयोग करता हूं लेकिन यह प्रत्येक पुनरारंभ पर किया जाना चाहिए। क्या कोई और अभिवादन है?
मैथ्यू

16

आपको -iअपनी ssh कमांड के विकल्प को अपनी कुंजी के पथ का उपयोग करने की आवश्यकता है । संशोधित आदेश होगा:

ssh -i ~/.ssh/id_rsa_admin admin@vps718449.ovh.net -p 9215

धन्यवाद। आपके उत्तर के साथ, निम्नलिखित त्रुटि प्रदर्शित होती है "ssh: hostname को हल नहीं कर सकता i: नाम या सेवा ज्ञात नहीं है"
मथाई

5
लाना -iपहले होस्ट का नाम भी काम करता है; मुझे लगता है कि @ मैथ्यू केवल हाइफ़न को भूल गया। : p
fkraiem
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.