एक 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
जवाबों:
bash: /home/user/.ssh/authorized_keys: No such file or directory
पथ का एक तत्व /home/user/.ssh/
मौजूद नहीं है; शेल ( bash
) >>
कमांड निष्पादित करने से पहले पुनर्निर्देशन ( ) की जांच करता है cat
। अगर /home/user
मौजूद है और आप यह कोशिश करते हैं:
cat $HOME/.ssh/id_rsa.pub >> $HOME/test_this
अब आपको मिलेगा:
cat: /home/user/.ssh/id_rsa.pub: No such file or directory
चूँकि वह फ़ाइल उस जगह पर नहीं हो सकती है, अगर /home/user/.ssh/
शुरू करने के लिए मौजूद नहीं है।
आप कुछ निर्देशों का पालन कर रहे हैं संभवतः कुछ बिट्स को छोड़ दिया है। निर्देशिका बनाने के लिए:
mkdir $HOME/.ssh
chmod 700 $HOME/.ssh
हालाँकि, id_rsa.pub
वहाँ नहीं होगा। यह वह जगह होगी जहां आपने ssh-keygen
पहली बार में कमांड को चलाया था ।
सुनिश्चित करें कि आप उस उपयोगकर्ता के रूप में लॉग इन हैं जिसे आप पहले के लिए ssh कुंजी बनाना चाहते हैं (या सही होम डायरेक्टरी में कमांड में पथ को संशोधित करने के लिए तैयार रहें)।
तो बस निर्देशिका बनाएँ:
mkdir ~/.ssh
cat
आपके द्वारा ऊपर सूचीबद्ध कमांड का उपयोग करके फ़ाइल बनाएं । फिर अनुमतियाँ सही ढंग से सेट करना न भूलें:
chmod 400 ~/.ssh/authorized_keys
आप यह सुनिश्चित करना चाह सकते हैं कि .ssh निर्देशिका के पास उपयुक्त अनुमति भी हो।
chmod 700 ~/.ssh
यदि संभव हो तो मैं हमेशा लोगों को कमांडलाइन टूल का उपयोग करने के लिए प्रोत्साहित करता हूं ssh-copy-id
।
$ ssh-copy-id -h
Usage: /usr/bin/ssh-copy-id [-i [identity_file]] [user@]machine
यदि आप अपनी डिफ़ॉल्ट SSH सार्वजनिक कुंजी को दूरस्थ रूप से कॉपी करना चाहते हैं, तो आप निम्नलिखित कमांड चला सकते हैं:
$ ssh-copy-id user@remoteserver
मैं इस Q & A शीर्षक में इस टूल का उपयोग करने का वास्तविक पूर्ण उदाहरण दिखाता हूं: rsync के साथ ssh कनेक्शन साझा नहीं कर सकता ।
यह भी विफल हो सकता है अगर, कुंजी बनाते समय ssh-keygen
, आप इसे फ़ाइल नाम देते हैं। मैंने कुछ नाम दर्ज किए my-ssh-file-name
, और इसने फ़ोल्डर के /Users/MyUserName
बजाय कुंजी लिखी .ssh
। यदि आप फ़ाइल नाम रिक्त छोड़ते हैं, तो यह .ssh
अपेक्षित के रूप में लिखेगा ।
-f ~/.ssh/custom-key-name