ssh-add कमांड ssh-Agent के लिए मेरी पहचान नहीं जोड़ता है


20

मैंने सिर्फ ubuntu 13.10 स्थापित किया था और मैं अपने ssh- एजेंट के साथ अपनी पहचान जोड़ने वाला था, इसलिए मैंने एक टर्मिनल खोला और यह किया

bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$ ssh-add
bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$ 

कोई विचार?

जवाबों:


26

से man ssh-add:

ssh-add प्रमाणीकरण एजेंट, ssh- एजेंट (1) के लिए निजी प्रमुख पहचान जोड़ता है। जब तर्क के बिना चलाया जाता है, तो यह फ़ाइलों को जोड़ता है ~ / .sh / id_rsa, ~ / .ssh / id_dsa, ~ / .ssh / id_ecdsa और ~ / .shsh / पहचान। [...]

पहचान फ़ाइलें किसी और के द्वारा, लेकिन उपयोगकर्ता द्वारा पठनीय नहीं होनी चाहिए। ध्यान दें कि ssh-add पहचान फ़ाइलों को अनदेखा करता है यदि वे दूसरों द्वारा सुलभ हैं।

इसलिए, The agent has no identities.त्रुटि के कारण , आपके पास शायद वे फ़ाइलें नहीं हैं या हो सकता है कि वे फ़ाइलें दूसरों द्वारा सुलभ हों। आप निम्न कमांड का उपयोग करके इनकी जांच कर सकते हैं:

ls -l ~/.ssh

साथ ही, ssh-addकमांड चलाने के बाद , echo $?पिछले कमांड की एरर स्टेटस देखने के लिए रन करें। यदि निकास स्थिति 0 पर लौटी, तो कमांड को सफलतापूर्वक निष्पादित किया गया। यदि निकास स्थिति ने गैर-शून्य मान लौटाया, तो कमांड निष्पादित करने में विफल रहा।

man ssh-addअधिक जानकारी के लिए देखें ।


सच है, मेरे पास वे फाइलें नहीं हैं और बाहर निकलने का मूल्य ssh-add1 था, लेकिन 0. नहीं। जाहिर है, मेरी अनुमति के साथ कुछ समस्या है क्योंकि फाइलें नहीं बनी हैं। किसी भी विचार मैं इसे कैसे ठीक कर सकता हूं? निर्देशिका ~/.sshमौजूद है (खाली है) लेकिन जब मैं करता हूं तो यह दिखाई नहीं देता हैls -l
bjorgvin

मैंने इस कमांड को चलाया ssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsaताकि आदमी ssh-keygen ने मदद की, धन्यवाद।
bjorgvin

1
यह मेरे लिए सही दिशा में आयात संकेत देता है। मेरे पास कई ssh कुंजियाँ थीं और पहले ssh-add <keyname> का उपयोग करके उचित कुंजी जोड़ना था। फिर यह एक चार्म की तरह काम करता था। thx
पॉल्रोहो

3
किसी कारण से, ssh-addपासफ़्रेज़ में प्रवेश करने के बाद चलने पर मेरे पास कोई आउटपुट नहीं था , (यह $?1 रीटूरिंग के अनुसार असफल रहा था chmod 600 ~/.ssh/id_rsa* । मैंने बिना किसी भाग्य के प्रयास किया । मैंने स्क्रैच से एक नई कुंजी उत्पन्न की ssh-keygenऔर फिर यह काम किया। दुःख की बात है लेकिन कम से कम ठीक है अब (असफल कुंजी का उपयोग कर उत्पन्न किया गया था ssh-keygen -t rsa -b 4096 -C "your_email@example.com", मैं केवल ssh-keygenइस समय के बजाय भाग गया )
गैबेलरॉक्स

1
मुझे इस क्रम में निम्नलिखित करना था: (यदि आवश्यक हो, नई ssh कुंजी उत्पन्न करें, और .pub कुंजी को github में जोड़ना सुनिश्चित करें), तो .ssh cd ~/.ssh && ls -lahफ़ोल्डर में पढ़ने / लिखने की अनुमति देखने के लिए, सभी कुंजी (s) बदलें। ) chmod 400 myKeyतब ssh-add **ABSOLUTE**pathToKey यदि आप ABSOLUTE पथ नहीं जोड़ते हैं , तो यह काम नहीं करेगा। फिर, इसके साथ परीक्षण करेंssh -vT git@github.com
जंगमदेव

3

उपरोक्त विचारों के अतिरिक्त, मैंने पाया कि यदि आप एक वैकल्पिक शेल का उपयोग कर रहे हैं, तो आपको ssh-Agent को लोड करने के लिए इसे कॉन्फ़िगर करने की आवश्यकता हो सकती है। उदाहरण के लिए, Zsh में, एक को जोड़ना होगा ssh-agentकरने pluginsमें .zshrc

यह विधि नवीनतम Zsh के साथ Ubuntu 17.10 पर शानदार काम करती है

दूसरों ने पाया कि id_ed25519कुंजियों के साथ , rsaएक प्लगइन के बिना काम कर रहा था। जोड़ने के बाद ssh-agentकरने के लिए ~/.zshrc, के साथ खोल पुनः आरंभ exec "$SHELL"और निष्पादित करें:ssh-add ~/.ssh/id_ed25519

Enter passphrase for ~/.ssh/id_ed25519: 
Identity added: ~/.ssh/id_ed25519 (user@host)

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