जवाबों:
यदि आप एक ग्राफिकल सत्र में प्रवेश कर रहे हैं, तो ssh-agent
अपने सत्र स्टार्टअप के दौरान शुरू करने की व्यवस्था करें । कुछ वितरण पहले से ही आपके लिए करते हैं। यदि आपका नहीं है, तो ssh-agent
अपने सत्र स्टार्टअप स्क्रिप्ट या अपने विंडो मैनेजर से चलाने की व्यवस्था करें । ऐसा कैसे करें जो आपके डेस्कटॉप वातावरण और आपके विंडो मैनेजर पर निर्भर करता है। उदाहरण के लिए, अगर आप अपने विंडो प्रबंधक मैन्युअल रूप से प्रारंभ, बस कॉल करने के लिए बदलने के my_favorite_wm
द्वारा ssh-agent my_favorite_wm
।
इन फ़ाइलों को प्रत्येक नए इंटरेक्टिव शेल द्वारा निष्पादित किए जाने के बाद ssh-agent
से .bashrc
या से शुरू न करें .zshrc
। शुरू करने का स्थान ssh-agent
सत्र स्टार्टअप फ़ाइल जैसे .profile
या में है .xsession
।
यदि आप सभी प्रक्रियाओं पर समान एसएसएच एजेंट का उपयोग करना चाहते हैं, जहां आप लॉग-इन नहीं करते हैं, तो आप बेतरतीब ढंग से नामित सॉकेट का उपयोग करने के बजाय इसे हमेशा एक ही सॉकेट नाम का उपयोग कर सकते हैं। उदाहरण के लिए, आप इसे अपने में डाल सकते हैं ~/.profile
:
export SSH_AUTH_SOCK=~/.ssh/ssh-agent.$HOSTNAME.sock
ssh-add -l 2>/dev/null >/dev/null
if [ $? -ge 2 ]; then
ssh-agent -a "$SSH_AUTH_SOCK" >/dev/null
fi
आप शायद किचेन जैसे एक कार्यक्रम चाहते हैं , जिसे इस सटीक उद्देश्य के लिए डिज़ाइन किया गया था। आदमी पृष्ठ से:
DESCRIPTION
keychain is a manager for ssh-agent, typically run from ~/.bash_profile.
It allows your shells and cron jobs to share a single ssh-agent process.
इसे अपने डेस्कटॉप वातावरण या विंडो मैनेजर पर लागू करें। जब मैंने इसे कस्टम के साथ अतीत में मैन्युअल रूप से किया है, तो मैंने इसे ~/.Xclients
अंतिम पंक्ति के रूप में उपयोग किया है:
ssh-agent mywindowmanger
कुछ डीई हो सकते हैं जिनके पास इसके लिए अपने स्वयं के सेटअप विकल्प हैं, हालांकि यह मुझे प्रतीत होता है कि (जैसे) केडीई नहीं करता है। वर्तमान में, ऐसा लगता है कि खदान से कोड के माध्यम से चलाया गया था /etc/X11/xinit/xinitrc-common
(संभवतः फेडोरा द्वारा किया गया कुछ), क्योंकि यह सभी उपयोगकर्ताओं के लिए डीए / WM की परवाह किए बिना सक्रिय है और मूल प्रक्रिया कमांड है $HOME/.Xclients
, लेकिन वह फ़ाइल संदर्भ नहीं है ssh-agent
(जबकि /etc/X11/xinit/xinitrc-common
करता है)।
यदि आपके पास नहीं है ~/.Xclients
, तो आप केवल एक पंक्ति के साथ एक बना सकते हैं, लेकिन आपको अपने DE / WM को शुरू करने वाले कमांड को जानना होगा।
$? -ge 2
है क्योंकि एग्ज़िट कोड 1 तब है जब ssh-agent के पास कोई कुंजी नहीं है, लेकिन ssh-Agent पहले से ही चल रहा है।