सवाल सुरक्षित प्रति यूकेपी शैली


मेरे पास अक्सर यह मामला है कि मुझे रिमोट होस्ट पर बहुत सारे होप्स बनाना है, सिर्फ इसलिए कि मेरे क्लाइंट और रिमोट होस्ट के बीच कोई सीधी रूटिंग नहीं है। जब मुझे रिमोट होस्ट से दो या दो से अधिक होप्स से फ़ाइलों की प्रतिलिपि बनाने की आवश्यकता होती है, तो मुझे हमेशा यह करना होगा:

client$ ssh host1
host1$ ssh host2
host2$ scp host3:/myfile .
host2$ exit
host1$ scp host2:myfile .
host1$ exit
client$ scp host1:myfile .

वापस जब यूसीपी अभी भी इस्तेमाल किया जा रहा था यह एक के रूप में सरल होगा

uucp host1!host2!host3 /myfile .

मुझे पता है कि एसएसएच पर यूसीपी है, लेकिन दुर्भाग्य से मेरे पास इसे स्थापित करने के लिए उन मशीनों पर उचित विशेषाधिकार नहीं हैं। साथ ही, मुझे यकीन नहीं है कि मैं वास्तव में ग्राहक की मशीनों के साथ घूमना चाहता हूं।

क्या किसी को भी बहुत सारे सुरंगों को स्थापित करने या रिमोट होस्ट पर नए सॉफ्टवेयर को तैनात करने की आवश्यकता के बिना इस कार्य को करने के तरीके के बारे में पता है? हो सकता है कि किसी प्रकार की रिकर्सिव स्क्रिप्ट जो मेरे सभी कड़ी मेहनत कर रही है, मेरे लिए कड़ी मेहनत कर रही है?

मान लें कि प्रमाणीकरण सार्वजनिक कुंजी के साथ होता है और यह कि सभी होस्ट एसएसएच एजेंट अग्रेषण करते हैं।

संपादित करें: मैं अपने इंटरैक्टिव सेसियन को नेक्सथॉप होस्ट में स्वचालित रूप से अग्रेषित करने का कोई तरीका नहीं ढूंढ रहा हूं। मैं उन मशीनों में यूसीपी स्थापित करने की आवश्यकता के बिना कई हॉप के माध्यम से एसपीपी का उपयोग करके बैंगपैथ-स्टाइल फाइलों की प्रतिलिपि बनाने का समाधान चाहता हूं। मेरे पास ssh-config में स्थायी परिवर्तन करने के लिए (कानूनी) अधिकार या विशेषाधिकार नहीं हैं। साथ ही, मैं इस उपयोगकर्ता नाम और मेजबान को कई अन्य लोगों के साथ साझा कर रहा हूं। मैं अपनी खुद की लिपि को हैक करने के लिए तैयार हूं, लेकिन मैं जानना चाहता था कि कोई ऐसा कुछ जानता है जो पहले से ही करता है। बैंगपाथ पर मेजबानों में न्यूनतम आक्रमणकारी परिवर्तन, ग्राहक से सरल आमंत्रण।

संपादित करें 2: इंटरैक्टिव सत्रों में यह ठीक से कैसे किया गया है, इस पर एक प्रभाव देने के लिए, एक नज़र डालें जीएक्सपीसी क्लस्टरशेल। यह मूल रूप से एक पायथन-स्क्रिप्ट है, जो स्वयं को उन सभी दूरस्थ होस्टों पर फैलाता है जिनमें कनेक्टिविटी है और जहां आपकी एसएस-कुंजी स्थापित है। इसके बारे में सबसे अच्छी बात यह है कि आप बता सकते हैं "मैं होस्टा के माध्यम से होस्टबी के माध्यम से होस्टसी तक पहुंच सकता हूं।" यह सिर्फ काम करता है। मैं चाहता हूँ इस एसपीपी के लिए


5
2017-10-05 18:05


मूल


क्या आपने एसएसएच प्रॉक्सी कमांड विकल्प का उपयोग करने की कोशिश की है? यह आपको आमतौर पर सीधे सी से सीधे जाने की अनुमति देगा। serverfault.com/questions/72343/ssh-relay-server-with-openssh/... - Zoredache
@Zoredache हां, मुझे इसके बारे में पता है, लेकिन मैं इस होस्ट के रूप में उन होस्टों का उपयोग करने वाला अकेला नहीं हूं। यह कम से कम आक्रामक होना चाहिए। यही कारण है कि मैं एक पुनरावर्ती, आत्म-प्रचार शैल-स्क्रिप्ट के बारे में सोच रहा हूं जो काम करता है। मैं खुद को बनाने के लिए उत्सुक हूं, लेकिन मैं पहले यह जांचना चाहता था कि कोई पहले से ही बना है या नहीं। - Alexander Janssen
यदि बहुत से लोग उस मेजबान का उपयोग कर रहे हैं, तो उन्हें प्रॉक्सी कमांड का उपयोग कैसे करें, या यदि वे आपके नेटवर्क पर हैं, तो क्यों न केवल एक सिस्टम को विस्तृत करें ssh_config सभी क्लाइंट मशीनों के लिए? यदि सभी होस्ट आपके नियंत्रण में हैं, तो कठपुतली या कुछ स्थापित करने पर विचार करें, तो आप प्रत्येक मशीन पर एक कॉन्फ़िगरेशन फ़ाइल प्रकाशित कर सकते हैं। - Zoredache
जैसा कि मैंने कहा, "मेरे पास उन मशीनों पर इसे स्थापित करने के लिए उचित विशेषाधिकार नहीं हैं" - वे मशीनें मेरी नहीं हैं। इसके अलावा, होस्ट 1 मेजबान 2 के लिए केवल एक जम्फॉस्ट नहीं है, बल्कि कई अन्य होस्टों के लिए भी है। मैं एक सामान्य समाधान की तलाश में हूं - यूपीपी की तरह एसपीपी। साथ ही, मैं केवल फाइलों की प्रतिलिपि बनाना चाहता हूं, आसान कॉन्फ़िगर-ट्वीक्स द्वारा प्राप्त इंटरैक्टिव सत्र नहीं। बाद के लिए, यह वेबसाइट एक अच्छा संदर्भ है। - Alexander Janssen
«यही कारण है कि मैं एक पुनरावर्ती, आत्म-प्रचार शैल-स्क्रिप्ट के बारे में सोच रहा हूं जो काम करता है» - ergh, यह है en.wikipedia.org/wiki/Morris_worm - है ना? - poige


जवाब:


भले ही आप विशेष रूप से उल्लेख करते हैं कि यह वह नहीं है जिसे आप ढूंढ रहे हैं, मैं जोर देकर कहूंगा कि आप इसे आजमाएं क्योंकि आपके गंतव्य के रास्ते में प्रत्येक होस्ट पर एक स्क्रिप्ट स्थापित करना अधिक जटिल और समय लेने वाला है।

यदि आप मेजबान लैपटॉप पर हैं और आप वेबसर्वर होस्ट करने के लिए कुछ कॉपी करना चाहते हैं, लेकिन आप केवल companygatweay.org के माध्यम से वेबसर्वर तक पहुंच सकते हैं, तो आपको बस इतना करना है:

laptop$   ssh -L4444 companygateway.org:webserevr:22

यह बंदरगाह 22 पर वेबसर्वर के माध्यम से सीधे आपकी स्थानीय मशीन पर बंदरगाह 4444 खोल देगा।

वेबसर्वर पर एसपीपी के साथ प्रतिलिपि बनाना इस तरह दिखेगा:

laptop$    scp -P 4444 /some/files/here localhost:/to/some/files/on/webserver

वेबसर्वर से कॉपी करने के लिए:

laptop$    scp -P 4444 localhost:/tmp/remote/files /home/localusername/downloads

0
2017-10-13 20:43



ओह, मुझे इसके बारे में पता है - यह पूरी तरह से काम करता है। यदि आपको एक से अधिक हॉप पार करने की आवश्यकता है तो यह दिलचस्प हो रहा है। आम तौर पर यह इस तरह जाता है: localhost-> my_corp_jumphost-> vpn-> customer_jumphost-> cluster_head_node-> क्लस्टरर्नोड। कुछ हॉप और सुरंगों के साथ घूमते हुए थोड़ी देर बाद वास्तव में बुरा हो रहा है। वास्तव में मेरे पास मेरे लोकहोस्ट की ssh_config फ़ाइल में एक समान सेटअप है, "रिमोटफॉरवर्ड 3128 127.0.0.1:3128, फॉरवर्डएजेंट हां, लोकल फॉरवर्ड 2222: जम्फोस्ट: 22" और कुछ अन्य। - Alexander Janssen


ssh host1 ssh host2 ssh host3 cat /myfile > myfile ? :)

युपीडी। (2014-01-20): हाल ही में मैं पार आया man dbclient जो उल्लेख करता है: «...

-बी एंडहोस्ट: एंडपोर्ट - "नेटकैट-एक जैसे" मोड, जहां ड्रॉपबियर दिए गए होस्ट से कनेक्ट होगा, फिर एंडहोस्ट को अग्रेषित कनेक्शन बनाएं। इसके बाद इसे डीबीक्लिएंट के मानक इनपुट / आउटपुट के रूप में प्रस्तुत किया जाएगा।

ड्रॉपबियर कई "होप्स" को अल्पविराम से अलग करने की अनुमति भी देगा। इस मामले में पहले होस्ट को एक कनेक्शन बनाया जाएगा, फिर एक टीसीपी अग्रेषित कनेक्शन दूसरे होस्ट के माध्यम से किया जाएगा, और इसी तरह। अंतिम गंतव्य के अलावा अन्य होस्ट एन्क्रिप्टेड एसएसएच स्ट्रीम के अलावा कुछ भी नहीं देखेंगे। मेजबान के लिए एक पोर्ट को स्लैश के साथ निर्दिष्ट किया जा सकता है (जैसे मैट @ मार्टेलो / 44)। इस वाक्यविन्यास का उपयोग एसपीपी या आरएसआईएनसी के साथ भी किया जा सकता है (sb / rsh कमांड के रूप में dbclient निर्दिष्ट)। एक फ़ाइल को कई एसएसएच होप्स के माध्यम से "बाउंस" किया जा सकता है, उदाहरण के लिए

         scp -S dbclient matt@martello,root@wrt,canyons:/tmp/dump .

ध्यान दें कि उपरोक्त उदाहरण में मेजबाननाम को पूर्व हॉप द्वारा हल किया गया है (इसलिए "कैन्यन" को मेजबान "wrt" द्वारा हल किया जाएगा), वैसे ही अन्य-एल टीसीपी अग्रेषित होस्ट हैं। मेजबान कुंजी को दिए गए होस्टनाम के आधार पर स्थानीय रूप से चेक किया जाता है।


6
2017-10-08 20:07



आप जानते हैं ... कभी-कभी आसान चीजें बस काम करती हैं। मेरे मस्तिष्क को हल करने के लिए धन्यवाद :) - Alexander Janssen
यह वही नहीं है जो मैं ढूंढ रहा हूं, मैं वैसे भी बक्षीस का इनाम दूंगा। (जैसे ही एसएफ मुझे चलो ...) - Alexander Janssen
@AlexanderJanssen, वास्तव में बक्षीस के अंत तक बहुत समय है, तो देखते हैं - सीखने के लिए कुछ और हो सकता है;) - poige
जैसा कि Ярослав Рахматуллин (आशा है कि रूसी वर्णमाला गड़बड़ नहीं है) नीचे दिए गए अपने जवाब में सही ढंग से इंगित किया गया है, स्वयं प्रतिलिपि बनाने वाली शेलस्क्रिप्ट के साथ गड़बड़ करना गन्दा है। आपका जवाब उपयोगी है और एक ही समय में बहुत सुंदर है - मुझे नहीं पता कि मैंने पहले क्यों नहीं सोचा था। मुझे लगता है कि मैं सिर्फ वही उपयोग करूंगा जो आपने दिया और इसे लपेट लिया ताकि मैं अपने प्यारे यूकेप हैशपथ शैली का उपयोग कर सकूं। :-) - Alexander Janssen
@AlexanderJanssen, धन्यवाद! :) - poige