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


283

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

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

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

जवाबों:


371

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

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

फिर अपने पुराने और नए पासफ़्रेज़ (दो बार) प्रांप्ट पर प्रदान करें। ( ~/.ssh/id_rsaयदि आपके पास 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.
[...]

1
यह जेंटू लिनक्स पर नेट-मिस / ओपनश-5.2_p1-r2 के साथ मैन पेज शिपिंग से है।
माइक मजूर

12
इसके अलावा, भविष्य के आलसी व्यक्ति के लिए, मैं इस आदेश को उल्टा कर दूंगा: त्वरित उत्तरदाता पहले, मैन पेज बाद में।
kch

2
मुझे लगता है कि उत्तर बहुत अच्छा है क्योंकि यह दोनों दिखाता है कि आप पासवर्ड कहां बदल सकते हैं, और उत्तर के लिए कहां देखना है। मैंने ssh कीज़ सेट करने में बहुत से लोगों की मदद की है, और उनके लिए वास्तव में यह याद रखना कि उन्होंने किस उपकरण का उपयोग किया है, हमेशा आसान नहीं होता है। इसके अलावा, 'नेट पर जवाब खोजने के लिए कई के लिए पहला विकल्प है ...
sastorsl

5
यदि आपकी मशीनें OpenSSH> = 6.5 का उपयोग करती हैं-o , तो आपको नए निजी कुंजी प्रारूप (डिफ़ॉल्ट रूप से KDF के रूप में bcrypt) को सक्षम करने के लिए विकल्प का उपयोग करना चाहिए । पुराने OpenSSH संस्करणों के साथ, अधिक सुरक्षित निजी कुंजी फ़ाइलों के लिए PKCS # 8 का उपयोग करें
क्विन कॉमनडेंट

2
@FranciscoLuz कमांड मेरे उत्तर में DSA कुंजी के लिए विशिष्ट है। यदि आपके पास RSA कुंजी है, तो आपकी कमांड सही है। मैंने इसका जवाब देने के लिए एक ब्लर्ब जोड़ा।
माइक मजूर

-9

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

rm ~/.ssh/id_rsa*

नया पासफ़्रेज़ चुनना, कीपर को फिर से बनाना:

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

पासफ़्रेज़ को संग्रहीत करने और इसे स्वचालित रूप से अनलॉक करने का प्रबंधन करने के लिए अपने OS X किचेन में नई बनाई गई निजी कुंजी जोड़ें:

ssh-add -K ~/.ssh/id_rsa

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

cat ~/.ssh/id_rsa.pub | pbcopy

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


3
पोस्टर ने पूछा कि अपनी कुंजी पर पासफ़्रेज़ को कैसे बदलना है, इसे फेंकना नहीं है और एक नया उत्पन्न करना है; और उन्होंने कभी भी OS X का उल्लेख नहीं किया
म्यूज़िनमाइब्रेन

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