Systemd सेवा के रूप में ssh-Agent को कैसे शुरू और प्रयोग करें?


16
  1. Ssh- एजेंट को systemd सेवा के रूप में कैसे शुरू करें ? नेट में कुछ सुझाव हैं, लेकिन वे पूरे नहीं हैं।

  2. यदि ssh- एजेंट सेवा सफलतापूर्वक शुरू की गई थी तो स्वचालित रूप से अनएन्क्रिप्टेड कुंजियों को कैसे जोड़ा जाए ? शायद, की सूची से चाबियाँ जोड़ना ~/.ssh/.session-keysअच्छा होगा।

  3. SSH_AUTH_SOCKबाद में किसी भी लॉगिन सत्र में कैसे सेट करें ? सबसे सही तरीका यह है कि इसे ssh-agent सर्विस से systemd-logind सर्विस पर धकेला जाए (अगर यह कभी संभव हो तो पता नहीं है)। सादा भोला तरीका सिर्फ इसे जोड़ने के लिए है /etc/profile


नेट पर सुझावों से क्या गायब है?
मार्क स्टोसबर्ग

जवाबों:


25

Systemd ssh-agent सेवा बनाने के लिए, आपको एक फ़ाइल बनाने की आवश्यकता है ~/.config/systemd/user/ssh-agent.serviceक्योंकि ssh-Agent उपयोगकर्ता पृथक है।

[Unit]
Description=SSH key agent

[Service]
Type=simple
Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK

[Install]
WantedBy=default.target

जोड़े SSH_AUTH_SOCK DEFAULT="${XDG_RUNTIME_DIR}/ssh-agent.socket"को ~/.pam_environment

अंत में सक्षम करें और इस सेवा को शुरू करें।

systemctl --user enable ssh-agent
systemctl --user start ssh-agent

और, यदि आप ssh संस्करण का उपयोग 7.2 से अधिक कर रहे हैं। echo 'AddKeysToAgent yes' >> ~/.ssh/config

यह ssh क्लाइंट को हमेशा एक रनिंग एजेंट की कुंजी जोड़ने का निर्देश देगा, इसलिए इसे पहले से ssh-add करने की कोई आवश्यकता नहीं है।

ध्यान दें कि जब आप ~/.ssh/configफ़ाइल बनाते हैं तो आपको चलाने की आवश्यकता हो सकती है:

chmod 600 ~/.ssh/config या chown $USER ~/.ssh/config

अन्यथा, आपको Bad owner or permissions on ~/.ssh/configत्रुटि प्राप्त हो सकती है ।


launchdOS X पर ssh- एजेंट को शुरू करने के लिए सेट किया गया है जब एक यूनिक्स सॉकेट एक्सेस किया जाता है (और SSH_AUTH_SOCKचर पथ के साथ prepopulated है ...) (जैसे inetd, लेकिन एक यूनिक्स सॉकेट)। यह संभव के साथ भी लगता है systemd। (क्या सिस्टम-वाइड सेवा प्रति-उपयोगकर्ता सेवा के लिए एक विकल्प है, यह देखना दिलचस्प हो सकता है ....)
गर्ट वैन डेन बर्ग

मैं Failed to execute operation: Process org.freedesktop.systemd1 exited with status 1जब मैं चलाने systemctl --user enable ssh-agentपर centos7
scarba05

1

यदि आप सेंटोस 7 का उपयोग कर रहे हैं तो यह समर्थित नहीं है क्योंकि यह --userध्वज के समर्थन का समर्थन नहीं करेगा systemctl। इस सेंटोस बग रिपोर्ट को देखें, Systemd उपयोगकर्ता समर्थन डिलीवरी पर टूटा हुआ है

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