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.