SSH फ़ॉरवर्डएजेंट कई हॉप्स


15

मैं पिछले 2 घंटों के लिए निम्नलिखित समस्या का हल ढूंढ रहा हूं, जिसमें कोई भाग्य नहीं है।

विकास:

मैं अपने सर्वर से कनेक्ट करने के लिए publickey प्रमाणीकरण का उपयोग कर रहा हूं। मैं ssh- एजेंट अग्रेषण का उपयोग करने के लिए सार्वजनिक / निजी कुंजी का प्रबंधन नहीं है।

मान लीजिए कि मेरे पास सर्वर हैं A, B and C

अगर मैं इससे जुड़ता हूं तो यह बहुत अच्छा काम करता है LOCAL ---> A ---> B

अगर मैं करता हूं तो यह बहुत अच्छा काम करता है LOCAL ---> A ---> C

अब, अगर मैं कोशिश करता हूँ LOCAL ---> A ---> B ---> C, SSH से कनेक्ट नहीं कर सकता B to C

वर्थ नोटिंग: मैं सर्वर A को तरलता के रूप में जोड़ता हूं, जबकि मैं सर्वर B को रूट के रूप में जोड़ता हूं। सर्वर बी को तरलता से जोड़ना समस्या को ठीक करता है, लेकिन यह मेरे लिए कोई विकल्प नहीं है।

एक उपयोगकर्ता की सिफारिश के अनुसार, मैं ssh -Aयह सुनिश्चित करने के लिए प्रत्येक समय का उपयोग करता हूं कि एजेंट अग्रेषण सक्षम है।

मुझे एक समान प्रश्न मिला, जिसका कोई उत्तर नहीं है: क्या यह संभव है कि ssh- एजेंट को कई हॉप्स के माध्यम से अग्रेषित करना संभव हो?

यहां @Zoredache के अनुसार: /server//a/561576/45671 मुझे बस प्रत्येक मध्यवर्ती सिस्टम पर अपने क्लाइंट कॉन्फ़िगरेशन को समायोजित करने की आवश्यकता है। जो मुझे विश्वास है कि मैंने किया।


SSH एजेंट को अग्रेषित करने के बजाय ProxyCommandhopping ( यहां बताया गया है ) का उपयोग करने पर विचार करें । अपने दृष्टिकोण के लिए आपको श्रृंखला की सभी मशीनों पर भरोसा करना होगा क्योंकि वे (ab) आपकी निजी चाबियों का उपयोग कर सकती हैं। मुझे यह भी पसंद है कि ProxyCommand दृष्टिकोण बेहतर है क्योंकि ज्ञात होस्ट की जांच स्थानीय स्तर पर की जाती है, और इसके अलावा, आप अपने SSH कॉन्फ़िगरेशन में चेन सेट कर सकते हैं ताकि आप C. से कनेक्ट करने के लिए एक कमांड का उपयोग कर
सकें

मैं दुर्भाग्य से एक प्रॉक्सीकमांड का उपयोग नहीं कर सकता। सुरक्षा कारणों के बावजूद, मुझे वास्तव में फॉरवर्ड का उपयोग करने की आवश्यकता है।
तरलता

@ मैं आप से पूछ सकता हूँ कि आप प्रॉक्सीकमांड का उपयोग क्यों नहीं करना चाहते हैं? मेरे पास एक ही समस्या है और जैसा कि मैं समझता हूं कि प्रॉक्सीकमंड अधिक सुरक्षित है। इसलिए मैं सोच रहा हूं कि कौन सा उपयोग करना है ..
grep

जवाबों:


13

एजेंट को अग्रेषित करने के लिए कई हॉप्स के माध्यम से काम करना पड़ता है ताकि आपको प्रत्येक ग्राहक को अपने मध्यवर्ती सिस्टम पर समायोजित करने की आवश्यकता हो ताकि एजेंट अग्रेषण कर सके।

यह आपके /etc/ssh/ssh_configद्वारा यह कॉन्फ़िगर किया गया है यह सुनिश्चित करने के रूप में बस के रूप में हो सकता है। लेकिन अगर आपके पास प्रति-ग्राहक कॉन्फ़िगर है, ~/.ssh/configतो आपको उन सेटिंग्स को भी समायोजित करने की आवश्यकता हो सकती है।

Host *
    ForwardAgent yes

आप देख सकते हैं कि एजेंट अग्रेषण हुआ या यदि कोई त्रुटि थी तो आप केवल -vविकल्प जोड़ सकते हैं ।

$ ssh -v issc@server1
OpenSSH_5.9p1 Debian-5ubuntu1.1, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /home/zoredache/.ssh/config
...
debug1: Requesting authentication agent forwarding.
debug1: Sending environment.
Linux server1 3.11-0.bpo.2-amd64 #1 SMP Debian 3.11.8-1~bpo70+1 (2013-11-21) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Dec 15 20:39:44 2013 from 10.2.4.243
issc@server1:~$

यह भी सत्यापित करें कि आपके पास एक मान्य पर्यावरण चर सेट है।

issc@server1:~$ export | grep SSH_AUTH
declare -x SSH_AUTH_SOCK="/tmp/ssh-7VejOmKtNv/agent.57943"

4
एक ssh_config या ~ .ssh / config विकल्प के त्वरित और गंदे विकल्प के रूप में ssh को एक ध्वज का उल्लेख करने के लायक। [[ई] प्रमाणीकरण एजेंट कनेक्शन को अग्रेषित करने में सक्षम करता है।
dmourati

1
प्रत्येक चरण में, आप उन ssh-add -lकुंजियों को सूचीबद्ध करने के लिए उपयोग कर सकते हैं जो यह सोचते हैं कि यह आपके एजेंट के माध्यम से प्राप्त कर सकता है। सुनिश्चित करें कि आप इसे प्रत्येक कनेक्शन पर अग्रेषित कर रहे हैं!
मिकीबी

धन्यवाद! यह भी ध्यान दें कि यदि सब कुछ सही ढंग से किया गया है तो आपको अंतिम सर्वर पर ssh-Agent को मैन्युअल रूप से शुरू नहीं करना होगा। यदि आप Requesting authentication agent forwarding.अपने डिबग आउटपुट में लाइन देखते हैं तो यह स्वचालित रूप से शुरू हो जाएगा । यदि आपने .bash_profilessh-Agent को शुरू करने की कोशिश की है , तो उसे वहां से हटा दें अन्यथा आपका एजेंट बिना किसी पहचान के फिर से शुरू हो जाएगा।
2upmedia
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.