मैं अपने SSH पासफ़्रेज़ का सत्यापन / जांच / परीक्षण / सत्यापन कैसे करूँ?


297

मुझे लगता है कि मैं अपने SSH कुंजी के लिए पासफ़्रेज़ भूल गया, लेकिन मेरे पास एक कूबड़ है जो यह हो सकता है। अगर मैं सही हूं तो मैं कैसे जांच करूं?


5
यह एक passphrase, कोई पासवर्ड नहीं है;)
तिमो

जवाबों:


123

आप अपने SSH एजेंट में लोड करने का प्रयास करके अपने SSH कुंजी पासफ़्रेज़ को सत्यापित कर सकते हैं। साथ OpenSSH इस के माध्यम से किया जाता है ssh-add

एक बार जब आप काम कर लेते हैं, तो अपने एसएसएच पासफ़्रेज़ को चालू करके टर्मिनल से उतारना याद रखें ssh-add -d


13
एक बार जाँच करने के बाद, अपने SSH एजेंट से अपने SSH कुंजी पासफ़्रेज़ को अनलोड करेंssh-add -d
Kache

1
ssh-add के लिए मशीन पर व्यवस्थापक अधिकारों की आवश्यकता होती है, मुझे लगता है। मुझे एक त्रुटि मिल रही है: "आपके प्रमाणीकरण एजेंट के लिए कनेक्शन नहीं खोला जा सका।"
इगोरगानापल्स्की

@IgorGanapolsky: नहीं, इसके लिए एक रनिंग प्रमाणीकरण एजेंट की आवश्यकता है। अपनी स्टार्टअप स्क्रिप्ट या विकल्पों को संशोधित करके एक को लाने के लिए।
इग्नासियो वाज़क्वेज़-अब्राम्स

20

यदि आप सेलिनक्स का उपयोग कर रहे हैं, तो आप होम डायरेक्टरी और .ssh फ़ाइलों के संदर्भ की जांच करना चाहते हैं! मैं भाग्यशाली था कि मैं इस सरल निर्धारण का उपयोग करने में सक्षम था: # restorecon -R -v /home/userयह जांचने के लिए कि क्या यह समस्या है (हालांकि पूर्ववर्ती आदेश किसी भी समस्या का कारण नहीं होना चाहिए), आप $ ls -lZR <home_dir>संदर्भ की जांच करने के लिए उपयोग कर सकते हैं । जैसा कि आप देख नहीं है, तो user_home_tघर निर्देशिका पर और ssh_home_tपर .sshनिर्देशिका और authorized_keysफ़ाइल है, तो का उपयोग restoreconउन्हें ठीक करने के।
फबिकेल

523

ssh-keygen -y

ssh-keygen -y आपको पासफ़्रेज़ के लिए संकेत देगा (यदि कोई है)।

    यदि आप सही पासफ़्रेज़ इनपुट करते हैं, तो यह आपको संबद्ध सार्वजनिक कुंजी दिखाएगा।
    यदि आप गलत पासफ़्रेज़ इनपुट करते हैं , तो यह प्रदर्शित होगा load failed
    यदि कुंजी के पास कोई पासफ़्रेज़ नहीं है , तो यह आपको पासफ़्रेज़ के लिए संकेत नहीं देगा और तुरंत आपको संबद्ध सार्वजनिक कुंजी दिखाएगा।

जैसे,

पासफ़्रेज़ के साथ या उसके बिना एक नई सार्वजनिक / निजी कुंजी जोड़ी बनाएँ:

$ ssh-keygen -f /tmp/my_key
...

अब देखें कि क्या आप मुख्य जोड़ी तक पहुँच सकते हैं:

$ ssh-keygen -y -f /tmp/my_key


निम्नलिखित एक विस्तारित उदाहरण है, आउटपुट दिखा रहा है।

पासफ़्रेज़ के साथ या उसके बिना एक नई सार्वजनिक / निजी कुंजी जोड़ी बनाएँ:

$ ssh-keygen -f /tmp/my_key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /tmp/my_key.
Your public key has been saved in /tmp/my_key.pub.
The key fingerprint is:
de:24:1b:64:06:43:ca:76:ba:81:e5:f2:59:3b:81:fe rob@Robs-MacBook-Pro.local
The key's randomart image is:
+--[ RSA 2048]----+
|     .+          |
|   . . o         |
|    = . +        |
|   = + +         |
|  o = o S .      |
|   + = + *       |
|    = o o .      |
|     . .         |
|      E          |
+-----------------+

सही पासफ़्रेज़ इनपुट करके मुख्य जोड़ी तक पहुंचने का प्रयास करें। ध्यान दें कि सार्वजनिक कुंजी दिखाई जाएगी और बाहर निकलने की स्थिति ( $?) 0सफलता का संकेत देगी :

$ ssh-keygen -y -f /tmp/my_key
Enter passphrase:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBJhVYDYxXOvcQw0iJTPY64anbwSyzI58hht6xCGJ2gzGUJDIsr1NDQsclka6s0J9TNhUEBBzKvh9nTAYibXwwhIqBwJ6UwWIfA3HY13WS161CUpuKv2A/PrfK0wLFBDBlwP6WjwJNfi4NwxA21GUS/Vcm/SuMwaFid9bM2Ap4wZIahx2fxyJhmHugGUFF9qYI4yRJchaVj7TxEmquCXgVf4RVWnOSs9/MTH8YvH+wHP4WmUzsDI+uaF1SpCyQ1DpazzPWAQPgZv9R8ihOrItLXC1W6TPJkt1CLr/YFpz6vapdola8cRw6g/jTYms00Yxf2hn0/o8ORpQ9qBpcAjJN
$ echo $?
0

एक गलत पासफ़्रेज़ इनपुट करके मुख्य जोड़ी तक पहुंचने का प्रयास करें। ध्यान दें कि "लोड विफल" त्रुटि संदेश प्रदर्शित किया जाएगा (संदेश ओएस के आधार पर भिन्न हो सकता है) और बाहर निकलने की स्थिति ( $?) आपके 1संकेत को इंगित करने के लिए होगी :

$ ssh-keygen -y -f /tmp/my_key
Enter passphrase:
load failed
$ echo $?
1

एक प्रमुख जोड़ी का उपयोग करने का प्रयास करें जिसमें कोई पासफ़्रेज़ नहीं है। ध्यान दें कि पासफ़्रेज़ के लिए कोई संकेत नहीं है, सार्वजनिक कुंजी प्रदर्शित की जाएगी, और बाहर निकलने की स्थिति ( $?) 0सफलता का संकेत देगी :

$ ssh-keygen -y -f /tmp/my_key_with_no_passphrase
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLinxx9T4HE6Brw2CvFacvFrYcOSoQUmwL4Cld4enpg8vEiN8DB2ygrhFtKVo0qMAiGWyqz9gXweXhdmAIsVXqhOJIQvD8FqddA/SMgqM++2M7GxgH68N+0V+ih7EUqf8Hb2PIeubhkQJQGzB3FjYkvRLZqE/oC1Q5nL4B1L1zDQYPSnQKneaRNG/NGIaoVwsy6gcCZeqKHywsXBOHLF4F5nf/JKqfS6ojStvzajf0eyQcUMDVhdxTN/hIfEN/HdYbOxHtwDoerv+9f6h2OUxZny1vRNivZxTa+9Qzcet4tkZWibgLmqRyFeTcWh+nOJn7K3puFB2kKoJ10q31Tq19
$ echo $?
0

2
यदि कोई पासवर्ड नहीं है, तो यह संबद्ध सार्वजनिक कुंजी को प्रिंट कर देगा।
किरेमैन

1
धन्यवाद @Kreremann! मैंने अब उस उत्तर को प्रतिबिंबित करने के लिए अद्यतन किया है।
बजे रॉब बेडनार्क

ssh-keygen -yकुंजी फ़ाइल के लिए पूछता है और एक डिफ़ॉल्ट प्रदान करता है जब एक वापसी की उम्मीद होगी।
तिमो

मैंने ssh-keygen -yअपनी ssh कुंजी के पासफ़्रेज़ की जाँच करने के लिए उपयोग किया है। यह ठीक काम किया सिवाय मेरे उबंटू अविश्वसनीय धीमी हो गई। अधिकांश कार्यक्रम एक या एक मिनट में शुरू हो सकते थे जबकि सीपीयू का उपयोग 100% था। अपने लैपटॉप को फिर से शुरू करने के बाद मैं मुश्किल से लॉग इन कर सका क्योंकि मेरे डेस्कटॉप को देखने में कुछ मिनट लगे। अंत में मुझे यह मुद्दा उबंटू से मिला है । मुझे gnome-keyring-daemonइस मुद्दे को हल करने के लिए शुरुआत करनी थी ।
एडम फ़ॉनाजी

2

विशिष्ट Windows + PuTTY परिदृश्य में @ RobBednark के समाधान का विस्तार, आप ऐसा कर सकते हैं:

  1. PuTTYgen ( Windows में अपने SSH कुंजी को मैन्युअल रूप से उत्पन्न करने के बाद) के साथ SSH कुंजी जोड़ी बनाएँ , इसे PPK फ़ाइल में सहेजा जा रहा है;

  2. विंडोज एक्सप्लोरर में संदर्भ मेनू के साथ, PuTTYgen के साथ संपादित करें चुनें। यह एक पासवर्ड के लिए संकेत देगा।

यदि आप गलत पासवर्ड टाइप करते हैं, तो यह बस फिर से संकेत देगा।

ध्यान दें, यदि आप टाइप करना चाहते हैं, तो PPK फ़ाइल वाले फ़ोल्डर पर निम्न कमांड का उपयोग करें puttygen private-key.ppk -y:।


0

"Ssh-keygen -p" का उपयोग करें। आप "-f" जोड़ सकते हैं

यह आपको पुराने पासवर्ड के लिए संकेत देगा। यदि पासवर्ड सही है, तो एक नया पासवर्ड दर्ज करने का संकेत देगा। यदि पुराना पासवर्ड गलत है, तो आपको "कुंजी लोड करने में विफल <...>" मिलेगा।


-1

यदि आपका पासफ़्रेज़ आपकी SSH कुंजी को अनलॉक करने के लिए है और आपके पास नहीं है ssh-agent, लेकिन आपके मशीन पर sshd (SSH डेमॉन) स्थापित है, तो करें:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys;
ssh localhost -i ~/.ssh/id_rsa

जहां ~/.ssh/id_rsa.pubसार्वजनिक कुंजी है, और ~/.ssh/id_rsaनिजी कुंजी है।


1
यह ऐसा करने वाले पास वाक्यांश के लिए नहीं कहता है
Imme22009

यह मेरे लिए करता है, निजी id_rsa को ssh लोकलहोस्ट को अनलॉक करने के लिए
Alexx Roche

मुझे एक त्रुटि मिलती है: "ssh:
होस्टहोस्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.