सवाल मैं अपना निजी कुंजी पासफ्रेज कैसे बदलूं?


मेरे पास एक मौजूदा सार्वजनिक / निजी कुंजी जोड़ी है। निजी कुंजी पासवर्ड सुरक्षित है, और एन्क्रिप्शन या तो आरएसए या डीएसए हो सकता है। ये चाबियाँ आप जिस तरह से उत्पन्न करते हैं ssh-keygen और आम तौर पर नीचे स्टोर करते हैं ~/.ssh

मैं निजी कुंजी का पासवर्ड बदलना चाहता हूं। मानक यूनिक्स शैल पर मैं इसके बारे में कैसे जा सकता हूं?

साथ ही, मैं बस पासवर्ड कैसे हटा सकता हूं? बस इसे खाली करने के लिए बदलें?


220
2017-08-06 05:37


मूल




जवाब:


अपनी डिफ़ॉल्ट डीएसए कुंजी पर पासफ्रेज बदलने के लिए:

$ ssh-keygen -p -f ~/.ssh/id_dsa

फिर संकेतों पर अपना पुराना और नया पासफ्रेज (दो बार) प्रदान करें। (उपयोग ~/.ssh/id_rsa अगर आपके पास आरएसए कुंजी है।)

से अधिक जानकारी man ssh-keygen:

[...]
SYNOPSIS
    ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment]
               [-f output_keyfile]
    ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
[...]
     -f filename
             Specifies the filename of the key file.
[...]
     -N new_passphrase
             Provides the new passphrase.

     -P passphrase
             Provides the (old) passphrase.

     -p      Requests changing the passphrase of a private key file instead of
             creating a new private key.  The program will prompt for the file
             containing the private key, for the old passphrase, and twice for
             the new passphrase.
[...]

285
2017-08-06 06:01



यह जेनेटू लिनक्स पर नेट-Misc / openssh-5.2_p1-r2 के साथ मैन पेज शिपिंग से है। - Mike Mazur
इसके अलावा, भविष्य के आलसी व्यक्ति के लिए, मैं आदेश को उलट दूंगा: जल्दी उत्तरदाता पहले, मैन पेज बाद में। - kch
मुझे लगता है कि जवाब बहुत अच्छा है क्योंकि यह दिखाता है कि आप कहां पासवर्ड बदल सकते हैं, और जवाब कहां देखना है। मैंने बहुत से लोगों को एसएसएच कुंजी स्थापित करने में मदद की है, और उनके लिए वास्तव में याद रखना कि वे किस उपकरण का उपयोग करते हैं, हमेशा आसान नहीं होता है। इसके अलावा, नेट पर उत्तर की खोज कई लोगों के लिए पहला विकल्प है ... - sastorsl
यदि आपकी मशीन OpenSSH> = 6.5 का उपयोग करती है, आप का उपयोग करना चाहिए -o विकल्प नए निजी कुंजी प्रारूप को सक्षम करने के लिए (डिफ़ॉल्ट रूप से केडीएफ के रूप में bcrypt)। पुराने ओपनएसएसएच संस्करणों के साथ, अधिक सुरक्षित निजी कुंजी फ़ाइलों के लिए पीकेसीएस # 8 का उपयोग करें। - Quinn Comendant
@FranciscoLuz मेरे उत्तर में कमांड एक डीएसए कुंजी के लिए विशिष्ट है। यदि आपके पास आरएसए कुंजी है, तो आपका आदेश सही है। मैंने इसका समाधान करने के उत्तर में एक अस्पष्ट जोड़ा। - Mike Mazur


अपने एसएसएच सार्वजनिक / निजी कुंजी निकालें:

rm ~/.ssh/id_rsa*

एक नया पासफ्रेज चुनकर, कीपियर को मनोरंजन करें:

ssh-keygen -t rsa -f ~/.ssh/id_rsa

पासफ्रेज को स्टोर करने और इसे स्वचालित रूप से अनलॉक करने के लिए अपने ओएस एक्स कीचेन में नव निर्मित निजी कुंजी जोड़ें:

ssh-add -K ~/.ssh/id_rsa

गिटहब, आदि जैसी वेब सेवाओं को जोड़ने के लिए सार्वजनिक कुंजी को ओएस एक्स क्लिपबोर्ड पर कॉपी करें।

cat ~/.ssh/id_rsa.pub | pbcopy

अपनी नव निर्मित सार्वजनिक कुंजी को जोड़ें ~/.ssh/authorized_keys रिमोट सर्वर की फाइल। रिमोट दोनों की सही अनुमति सुनिश्चित करना सुनिश्चित करें ~/.ssh फ़ोल्डर (700) और ~/.ssh/authorized_keys (600)। आप उपयोग की जांच कर सकते हैं ssh-copy-id इस प्रक्रिया को कम करने के लिए।


-7
2018-02-20 15:17



पोस्टर ने पूछा कि कैसे अपनी कुंजी पर पासफ्रेज को बदलना है, इसे फेंकना और एक नया उत्पन्न करना; और उन्होंने ओएस एक्स का कभी भी उल्लेख नहीं किया। - musicinmybrain
अगर मैं इन तीन मुद्दों के लिए नहीं था तो मैं इस जवाब को उखाड़ फेंक दूंगा: 1। पुरानी चाबियाँ हटाना एक अच्छी शुरुआत नहीं है क्योंकि अपडेट करने पर आपको उन लोगों की आवश्यकता होगी authorized_keys। 2। आपने उल्लेख नहीं किया है कि पुराने कुंजी को पासवर्ड बदलने से बेहतर क्यों है। 3। आप ओएस के बारे में धारणा करते हैं, जो प्रश्न द्वारा समर्थित नहीं है। - kasperd