मैंने कुबंटु 12.04 पर एक दोस्त के लिए एक नया उपयोगकर्ता खाता स्थापित किया। जब वह उपयोग करता है sshतो उसे यह त्रुटि मिलती है:
आपके प्रमाणीकरण एजेंट के लिए कनेक्शन नहीं खोला जा सका
हम sshकुछ बैश स्क्रिप्ट में चल रहे हैं।
चीजों की विस्तृत विविधता को देखने के बाद जो उस त्रुटि को जन्म दे सकती है, मैं इस समाधान में आया हूं:
$ eval `ssh-agent -s`
$ ssh-add ~/.ssh/some_id_rsa
फिर वह sshउम्मीद के मुताबिक कमांड (और स्क्रिप्ट्स को बैश) चला सकता है।
उन दो आदेशों को चलाने से पहले, एनवी चर एक टर्मिनल में सेट नहीं हैं:
$ echo $SSH_AGENT_PID
$ echo $SSH_AUTH_SOCK
$
कमांड चलाने के बाद, env वेरिएबल्स को उम्मीद के मुताबिक सेट किया जाता है। हालांकि, वे सेट नहीं रहते (उदाहरण के लिए, एक अलग शेल में या रिबूट करने के बाद)।
मैं जानना चाहता हूं कि अपने कंप्यूटर को कैसे सेट किया जाए ताकि उसे एनवी चर सेट करने के लिए उन दो कमांडों को चलाना न पड़े। मुझे उन्हें अपने कंप्यूटर (कभी) पर चलाने की आवश्यकता नहीं है। अब तक मैं यह नहीं देख रहा हूं कि हमारी मशीनों के बीच क्या अंतर है।
मैं इस जानकारी को मैन पेज में देखता हूं, लेकिन यह मुझे नहीं बताता है कि कैसे उबंटू सामान्य रूप से एजेंट को स्वचालित रूप से स्थापित कर रहा है या मेरे दोस्त की मशीन पर क्या हो रहा है ताकि यह उसके लिए काम न कर रहा हो।
एक एजेंट को स्थापित करने के लिए दो मुख्य तरीके हैं: पहला यह है कि एजेंट एक नया उपकमांड शुरू करता है जिसमें कुछ पर्यावरण चर निर्यात किए जाते हैं, जैसे ssh- एजेंट xterm &। दूसरा यह है कि एजेंट आवश्यक शेल कमांड प्रिंट करता है (या तो श (1) या csh (1) सिंटैक्स उत्पन्न किया जा सकता है) जिसे कॉलिंग शेल में खाली किया जा सकता है, उदाहरण के
ssh-agent -sलिए बॉर्न-टाइप शेल जैसे शल (1) या ksh (1) औरssh-agent -ccsh (1) और व्युत्पन्न के लिए eval ।
स्थापित करने acctऔर रिबूट करने के बाद , यह निम्नलिखित है lastcomm:
ssh-agent F newuser __ 0.12 secs Wed Aug 7 11:02
ssh-agent F newuser __ 0.00 secs Wed Aug 7 20:34
ssh-agent F newuser __ 0.02 secs Wed Aug 7 20:02
ssh-agent F newuser __ 0.01 secs Thu Aug 8 12:39
ssh-agent F newuser __ 0.02 secs Thu Aug 8 07:45
मैन पेज से:
F - एक फोर्क के बाद निष्पादित कमांड, लेकिन निम्नलिखित निष्पादन के बिना
मुझे यकीन नहीं है कि अगर यह महत्वपूर्ण है।
X11/Xsession.options:use-ssh-agentऔर है X11/Xsession.d/90x11-common_ssh-agent:SSHAGENT=/usr/bin/ssh-agent। मैं कोशिश करूंगा acctऔर lastcommआगे। साभार
lastcommकेवल ssh-agentप्रक्रिया ही नहीं, बल्कि पूर्ण सत्र के लिए आउटपुट पोस्ट करें । यह देखना है कि विभिन्न कार्यक्रमों को किस क्रम में शुरू किया जाता है।
ssh-agentआम तौर पर से शुरू किया जाता है/etc/X11/Xsession.d/90x11-common_ssh-agent। इससे दूर करके ही दम लिया जा सकताuse-ssh-agentहै/etc/X11/Xsession। क्या वे फाइलें सही हैं? क्या एजेंट को शुरू किया गया और फिर उसे मार दिया गया या कभी शुरू नहीं हुआ? (स्थापित करेंacctऔरlastcommलॉग इन करने के बाद देखें कि कौन से कार्यक्रमों की सराहना की गई।)