मैं SSH पर किसी (जैसे दादी) की मदद कैसे कर सकता हूं जो NAT राउटर के पीछे है?


14

दूसरों की जल्दी से मदद करने के लिए, SSH बहुत उपयोगी है, खासकर GNU स्क्रीन के साथ। यह सामान्य है कि उपयोगकर्ता NAT रूटर के पीछे हैं। भले ही उपयोगकर्ता राउटर को कॉन्फ़िगर कर सकता है, पासवर्ड को याद रखने, सही विकल्प खोजने, आदि के लिए कुछ समय लगता है।

तो, SSH पर दूसरों की मदद करने का सबसे आसान तरीका क्या है यदि वे NAT राउटर के पीछे हैं?

मैं वर्तमान में लोगों से कहता हूं कि नीचे की ओर चलने वाला एक टर्मिनल खोलें और मुझे http://ip.appspot.com/ जैसी साइट से अपना आईपी पास करें :

sudo apt-get install openssh-server ssh-import-id && ssh-import-id lekensteyn

जाहिर है, यह काम नहीं करने जा रहा है अगर वे NAT राउटर के पीछे हैं या एक व्यक्तिगत फ़ायरवॉल कॉन्फ़िगर किया गया है। तो, क्या कुछ ऐसा है:

sshd --accept-help-from lekensteyn

मैं टीमव्यूअर जैसे विकल्पों की तलाश में नहीं हूं, बस एसएसएच की तरह एक शेल। यह ओपन-सोर्स भी होना चाहिए।

जवाबों:


13

यदि आपका स्वयं का कंप्यूटर SSH कनेक्शन स्वीकार कर सकता है, तो तकनीक का उपयोग करने का एक तरीका है जो Pavlos G. बिना किसी अतिरिक्त कंप्यूटर से जुड़ा हुआ है

आपको सबसे पहले एक कम से कम * उपयोगकर्ता की आवश्यकता है जिसे आपका मित्र इस प्रकार जोड़ेगा:

sudo adduser reverse --shell /bin/false

सुरंग शुरू करने के लिए अपने मित्र को बताएँ:

ssh -N -R 62222:localhost:22 reverse@lekensteyns-server

फिर, अपने कंप्यूटर पर ( lekensteyns-server), रिवर्स कनेक्शन शुरू करें:

ssh -p 62222 localhost

* मैं सुरक्षा के बारे में पर्याप्त नहीं जानता कि एक उपयुक्त रूप से अल्प विकसित उपयोगकर्ता बनाने की सलाह देने में सक्षम हो। शायद यह कुछ ऐसा है जिसे एक अलग प्रश्न में शामिल किया जाना चाहिए।



2

अपनी विशिष्ट आवश्यकताओं के आधार पर, मैं शायद:

  1. उनसे मुझे राउटर का पासवर्ड बताने के लिए कहें
  2. लॉगिन और सेटअप पोर्ट-फॉरवर्डिंग पोर्ट 22 के लिए ही
  3. SSH (या SSH टनलिंग के माध्यम से कनेक्ट करें यदि आपको अतिरिक्त पोर्ट खोलने की आवश्यकता है) और काम पूरा करें।

मैं यह भी भूल गया कि आप रिवर्स ssh सुरंग की कोशिश कर सकते हैं , हालांकि इस समाधान को तकनीकी रूप से काम करने के लिए एक और मध्य-कंप्यूटर की आवश्यकता है।

अधिक जानकारी यहां पाई जा सकती है


1) शायद काम करने वाला नहीं है क्योंकि राउटर एक्सेस अक्सर जनता के लिए निषिद्ध है।
लेकेनस्टाइन

2

मैं आमतौर पर एक IPv6 सुरंग (छहxs.net या he.net से) स्थापित करता हूं, अगर उनके पास पहले से IPv6 नहीं है और फिर उस तरह से कंप्यूटर का स्थैतिक पता है और मुझे NAT के साथ गड़बड़ नहीं करनी है। मुझे कुंजी आधारित प्रमाणीकरण सेट करना भी पसंद है (तब उन्हें आपको अपना पासवर्ड बताने की आवश्यकता नहीं है)।

सिक्सक्स का अपना क्लाइंट है जो आप उपयोग करते हैं। यह लगभग किसी भी NAT के पीछे काम करता है, और IPv4 पता बदलने पर स्वचालित रूप से अपडेट होता है। उनके निर्देश हैं कि इसे कैसे स्थापित किया जाए और यह उबंटू के लिए पैक किया गया है।

तूफान इलेक्ट्रिक एक सुरंग का उपयोग करता है जहां IPv6 पैकेज को IPv4 पैकेट के पेलोड के रूप में भेजा जाता है। सिक्सक्स के विपरीत, कोई टीसीपी / यूडीपी का उपयोग नहीं किया जाता है। इसका मतलब है कि आप जिस NAT के पीछे हैं, उसे PROTOCOL 41 (पोर्ट नहीं) को अग्रेषित करने का समर्थन करना होगा और NAT के पीछे केवल एक कंप्यूटर इसका उपयोग कर सकता है। इस तरह एक सुरंग का उपयोग करने के लिए सॉफ्टवेयर Ubuntu में बनाया गया है।

महामहिम के लिए, मैं कुछ इस तरह का उपयोग करें /etc/network/interfaces:

auto he-ipv6
iface he-ipv6 inet6 v4tunnel
     endpoint 216.218.226.238
     address  2001:470:a29f::2
     netmask  64
     ttl 64
     up ip -6 route add default dev he-ipv6
     down ip -6 route del default dev he-ipv6

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

#!/bin/sh
echo -n "Hurricane Electric Proto-41 tunnel endpoint update: "
#(C) 2010 Erik B. Andersen This script is licensed under the latest version of the
# AGPL published by the Free Software Foundation at http://www.gnu.org/licenses/ .
####Set these for each different site#########
pass="passwordhere"
user_id="a765b8e2f474667dcb56e08c5f1aa05b"
tunnel_id="97817"
####Past here doesn't need to be changed######
wget -4 "https://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=AUTO&pass=$(echo -n "${pass}" | md5sum | grep -o -E "[0-9a-fA-F]{32}")&user_id=${user_id}&tunnel_id=${tunnel_id}" -O /dev/null -o /dev/null --no-check-certificate
echo " Done"

1
ऐसी सुरंग को सही ढंग से स्थापित करने के लिए क्या प्रयास किए जाने की आवश्यकता है? यह कनेक्शन निश्चित रूप से की-बेस्ड है, इसलिए मैं ssh-import-id का
Lekensteyn

वास्तव में, मैं इस ट्रिक के बारे में अधिक जानना चाहूंगा।
राफेल Cieślak

0

वर्षों के साथ, मैंने ओपी से जो पूछता है, ठीक उसी तरह से करने के लिए एक जीयूआई विकसित किया ... सिवाय इसके कि सार्वजनिक आईपी के साथ तीसरे सर्वर के लिए एसएचएस एक्सेस की आवश्यकता होती है, जैसा कि पावलोस द्वारा सुझाया गया है। आप यहाँ डेबियन पैकेज और निर्देश पा सकते हैं:

http://pietrobattiston.it/reachme

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

स्पष्ट रूप से, आपको तीसरे कंप्यूटर की आवश्यकता नहीं है अगर आपके कंप्यूटर में सार्वजनिक आईपी है, जैसा कि उत्तर के अनुसार। और स्पष्ट रूप से, GUI का लाभ यह है कि दूरस्थ उपयोगकर्ता को किसी भी आदेश को टर्मिनल में दर्ज करने की आवश्यकता नहीं है ... लेकिन दूरस्थ उपयोगकर्ता को पहुंच स्थापित करने के लिए इस लाभ का कुछ हिस्सा खो जाता है। इसलिए मैं हमेशा उबंटू को इंस्टॉल करने वाले हर व्यक्ति तक पहुंच स्थापित करता हूं और पहुंच स्थापित करता हूं।

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