एक ssh कुंजी बनाएँ:
कमांड:
ssh-keygen -t rsa –P ""
कुंजी को अधिकृत कुंजी पर ले जाना:
कमांड:
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
एक ssh कुंजी बनाएँ:
कमांड:
ssh-keygen -t rsa –P ""
कुंजी को अधिकृत कुंजी पर ले जाना:
कमांड:
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
जवाबों:
आपको पहली बार .ssh
डायरेक्टरी और authorized_keys
फाइल बनानी होगी ।
.ssh
निर्देशिका बनाएँ :
mkdir ~/.ssh
सही अनुमतियाँ सेट करें:
chmod 700 ~/.ssh
authorized_keys
फ़ाइल बनाएँ :
touch ~/.ssh/authorized_keys
सही अनुमतियाँ सेट करें:
chmod 600 ~/.ssh/authorized_keys
अनुमतियाँ महत्वपूर्ण हैं! यह सही अनुमति के बिना काम नहीं करेगा!
अब आप जोड़ सकते हैं सार्वजनिक कुंजी के लिए authorized_keys
फ़ाइल:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
आपको अपने कंप्यूटर की सार्वजनिक कुंजी को उस कंप्यूटर की authorized_keys
फ़ाइल में जोड़ना होगा जिसे आप SSH कीज़ का उपयोग करके एक्सेस करना चाहते हैं !
जैसा कि टेर्डन ने उल्लेख किया है कि आप इस कमांड का उपयोग कर सकते हैं:
ssh-copy-id user@host
यह आपके id_rsa.pub
(आपकी ~/.ssh
निर्देशिका में) दूरस्थ कंप्यूटर की authorized_keys
फ़ाइल में डाल देगा , यदि आवश्यक हो तो सही अनुमतियों के साथ .ssh
निर्देशिका और authorized_keys
फ़ाइल बना सकता है।
cat
यही ssh-copy-id
है।
यदि आपको दूरस्थ सर्वर पर इंस्टॉल करने के लिए ईमेल में सार्वजनिक कुंजी भेजी गई है:
1) सर्वर में एसएसएच। मैंने विंडोज पर PuTTY का इस्तेमाल किया।
2) कुंजी सेट करें:
mkdir ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys
ध्यान से कुंजी को कॉपी करें और इसे संपादक विंडो में एक नई पंक्ति में पेस्ट करें। सत्यापित करें कि यह एक पंक्ति पर कब्जा कर लेता है और बचाता है।
chmod 600 ~/.ssh/authorized_keys
चूंकि मेरे पास पर्याप्त प्रतिष्ठा नहीं है, इसलिए मैं इसे यहां जोड़ रहा हूं। लुई मैथिज्सेन के उत्तर के अलावा अगर आप अभी भी ssh के माध्यम से लॉगिन करने में सक्षम नहीं हैं, तो एक उपयोगकर्ता के रूप में जो आपने बनाया है, जैसे
ssh username@host
तब यह मालिक की अनुमति के अभाव के कारण हो सकता है कि आपको अपने /home/username/.ssh फ़ोल्डर में जोड़ना होगा। मेरे पास एक ही मुद्दा था और आप यह अनुमति दे सकते हैं:
chown -R username:username /home/username/.ssh
यह संभवतः केवल इसलिए हो सकता है क्योंकि आप निर्देशिका बना रहे थे और अनुमतियों को रूट के रूप में सेट कर रहे थे , लेकिन उस उपयोगकर्ता नाम के रूप में नहीं जिसके साथ आप सर्वर तक पहुंचना चाहते हैं।
आशा है कि यह किसी की मदद करता है।
यह तब भी विफल हो सकता है, यदि कुंजी बनाते समय ssh-keygen
, आप इसे फ़ाइल नाम देते हैं। मैंने कुछ नाम दर्ज किए my-ssh-file-name
, और इसने फ़ोल्डर के /Users/MyUserName
बजाय कुंजी लिखी .ssh
। यदि आप फ़ाइल नाम को खाली छोड़ते हैं, तो यह .ssh
अपेक्षा के अनुरूप लिखेगा ।
~/.ssh/authorized_keys
अन्य कंप्यूटरों की कुंजियाँ हैं जिन्हें आप / ट्रस्ट से कनेक्ट करते हैं, अपनी स्वयं की कुंजी से नहीं।