बिचौलिया सर्वर के माध्यम से एसएसएच सुरंग - एक चरण में कनेक्ट कैसे करें (कुंजी जोड़ी का उपयोग करके)?


9

मेरा प्रश्न मूल रूप से मेरे मौजूदा दो चरणों को एक चरण में बदलने का है।

मेरे पास इस तरह एक बिचौलिया सर्वर का उपयोग करके दो कंप्यूटरों के बीच काम करने वाली SSH सुरंग है:

Kubuntu_laptop--->nat_fw--->Debian_Server<--nat_fw<--Kubuntu_desktop

वर्तमान में मैं क्या कर रहा हूँ SSH Kubuntu_laptop से Debian_Server और फिर Debian_Server से Kubuntu_desktop तक। मैं चाहता हूँ कि एक SSH कमांड, मेरे Kubuntu_laptop को बैश में जारी किया जाए, जिसके परिणामस्वरूप मुझे Kubuntu_desktop (शेल / बैश) से जोड़ा जा सके।

अब मैं जिन कमांड का उपयोग कर रहा हूं, वे इस प्रकार हैं। चरण 1:

me@kubuntu_laptop:~$ ssh -i ~/.ssh/id_rsa admin@debian_server  

चरण 2:

admin@debian_server:$ ssh -p 1234 -i /home/admin/.ssh/id_rsa admin@localhost 

फिर मैं SSH (kubuntu_laptop से) kubuntu_desktop से जुड़ा हुआ हूं।

सभी SSH कनेक्शन के लिए RSA कुंजियाँ आवश्यक हैं। पासवर्ड लॉगिन चारों ओर अक्षम है। और ध्यान दें कि कंप्यूटर उपयोगकर्ता के खाते दो कंप्यूटरों में भिन्न हैं।

इस पैर के कनेक्शन के बारे में:

Debian_Server<--nat_fw<--Kubuntu_desktop

यहां बताया गया है कि यह कैसे स्थापित किया जाता है:

autossh -M 5234 -N -f -R 1234:localhost:22 user@mydebian.com -p 22

सूचना Kubuntu_desktop बिचौलिया को user@mydebian.com (व्यवस्थापक @ debian_server नहीं) के रूप में जोड़ती है। लेकिन जब मैं Kubuntu_desktop से कनेक्ट करता हूं, तो मैं व्यवस्थापक उपयोगकर्ता के रूप में जोड़ता हूं।

मैं मौजूदा मॉनिटरिंग पोर्ट (5234) या रिमोट (- R) पोर्ट नंबर (1234 इस उदाहरण में) को नहीं बदल सकता। मैं पासवर्ड लॉगिन की अनुमति देने के लिए SSH सुरक्षा को नहीं बदल सकता। मैं कोई नया फ़ायरवॉल पोर्ट नहीं खोल सकता। मैं उपयोगकर्ता खाते (लैपटॉप को छोड़कर) नहीं बदल सकता।


इस सवाल पर एक नज़र: unix.stackexchange.com/questions/82158/…
Hauke ​​Laging

@HaLLaging - दिलचस्प लगता है लेकिन मैं इसे नहीं समझता। "Nc" क्या है? और किस मशीन पर ~ / .ssh / config संपादित किया गया है? मूल रूप से, मुझे उस प्रश्न / उत्तर प्रदान करने की तुलना में अधिक विवरण की आवश्यकता है। धन्यवाद।
माउंटेनएक्स

इस सवाल को सर्वर फॉल्ट एसई से क्रॉसपोस्ट किया गया है (अधिसूचना के बिना)। यह बहुत ही BAD रूप है!
mdpc

सभी जगहों पर गिरावट के लिए धन्यवाद, लेकिन दो अलग-अलग स्थानों पर पूछने में क्या गलत है? क्या आप मुझे ubuntuforums.org या कहीं और पूछने से रोकने जा रहे हैं?
माउंटेनएक्स

@ HaukeLaging- अगर मेरे लैपटॉप में ProxyCommand ~ / .ssh / config का उपयोग कर रहा हूं, तो मैं Kubuntu_Desktop के होस्टनाम के लिए क्या दर्ज करूं? कोई फेकन नहीं है। यह रिवर्स SSH है। धन्यवाद।
माउंटेनएक्स

जवाबों:


8

सुनिश्चित करें कि नेटबैट को डेबियन सर्वर पर स्थापित किया गया है, और ProxyCommandअपने स्थानीय एसएसएच कॉन्फ़िगरेशन ( ~/.ssh/config) में उपयोग करें ।

Host Kubuntu_desktop
  ProxyCommand ssh Debian_Server nc localhost 1234

मैंने पूर्णता के लिए एक और उत्तर में अपने सभी कदम दिए, लेकिन यह सब आपकी मदद के लिए धन्यवाद था। मैं आपके उत्तर को स्वीकार कर रहा हूं। धन्यवाद!!!
माउंटेनएक्स

6

@Ignacio Vazquez-Abrams के लिए धन्यवाद यहाँ सभी चरण हैं:

सुनिश्चित करें कि नेटबैट को डेबियन सर्वर पर स्थापित किया गया है, और अपने स्थानीय SSH कॉन्फ़िगरेशन (~ / .ssh / config) में ProxyCommand का उपयोग करें।

मैंने निम्न के रूप में कॉन्फ़िगर किया है:

me@kubuntu_laptop:~/.ssh$ nano config

सामग्री हैं:

Host kubuntu_desktop
  ProxyCommand ssh debian_server_fqdn nc localhost 1234
  User admin
  PasswordAuthentication no
  IdentityFile ~/.ssh/my_id_rsa

फिर बस कनेक्ट करें:

me@kubuntu_laptop:~$ ssh kubuntu_desktop

1 चरण में SSH के माध्यम से kubuntu_desktop से जुड़ा हुआ है! उत्तम

अपडेट करें:

यह इसे और अधिक लचीला बनाता है:

me@kubuntu_laptop:~/.ssh$ nano config

नई सामग्री हैं:

Host family_desktops
  ProxyCommand ssh debian_server_fqdn nc localhost %p
  User admin
  PasswordAuthentication no
  IdentityFile ~/.ssh/my_id_rsa

तो बस माँ से कनेक्ट करें:

me@kubuntu_laptop:~$ ssh family_desktops -p 1234

और पिताजी से कनेक्ट करें:

me@kubuntu_laptop:~$ ssh family_desktops -p 5678

बेशक, मॉम और डैड को स्टेप 0 सेट अप करना होगा (मेरे मूल प्रश्न से) जहां प्रत्येक का अपना -R पोर्ट परिभाषित हो। पिताजी के लिए उदाहरण:

चरण 0 (पिताजी के लिए):

autossh -M 6543 -N -f -R 5678:localhost:22 user@mydebian.com -p 22

वैकल्पिक:

DAD=5678
ssh family_desktops -p $DAD

ProxyCommand के रूप में भी लिखा जा सकता है: ProxyCommand ssh debian_server_fqdn -W localhost:%pइसलिए डेबियन सर्वर पर netcat होने की कोई आवश्यकता नहीं है।
केविन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.