एसएसएच सुरंग दूरस्थ डेस्कटॉप के लिए मध्यवर्ती सर्वर भाग II के माध्यम से


10

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

  1. एक निजी नेटवर्क में विंडोज 7 पीसी, एक फ़ायरवॉल के पीछे बैठा है।
  2. सार्वजनिक एक्सेस लिनक्स सर्वर, जिसमें पीसी तक पहुंच है।
  3. विंडोज 7 लैपटॉप, घर पर, जिस पर मैं पीसी से रिमोट डेस्कटॉप करना चाहता हूं।

मैं लिनक्स पर सर्वर से एक रिवर्स सुरंग बनाने के लिए लैपटॉप पर पुट्टी का उपयोग करता हूं R60666 localhost:3389:।

मैं लिनक्स पर सर्वर से एक नियमित सुरंग बनाने के लिए पीसी पर पुट्टी का उपयोग करता हूं L60666 localhost:60666:।

मैं लिनक्स के लिए SSH गंभीर हूं और मैं टेलनेट लोकलहोस्ट 60666 चला रहा हूं और यह अपेक्षित आउटपुट का उत्पादन करता है, जैसा कि मुझे यहां प्राप्त डिबगिंग टिप्स में वर्णित है

मैं पीसी से लैपटॉप के लिए दूरस्थ डेस्कटॉप कनेक्ट करने का प्रयास करता हूं localhost:60666:। यह मेरे उपयोगकर्ता नाम और पासवर्ड के लिए पूछता है, मैं ठीक क्लिक करता हूं और यह लैपटॉप पर मेरे वर्तमान सत्र को बंद कर देता है (इसलिए मैं अपने डेस्कटॉप के बजाय लैपटॉप पर स्वागत स्क्रीन देखता हूं), यह दूरस्थ डेस्कटॉप स्क्रीन में "स्वागत" संदेश दिखाता है और फिर यह सिर्फ काला होता है। यह डिस्कनेक्ट नहीं करता है, यह कोई त्रुटि प्रदान नहीं करता है और मैं दूरस्थ डेस्कटॉप स्क्रीन में कोई भी कार्य करने में सक्षम नहीं हूं। मैंने एक ही सेटअप को विंडोज एक्सपी लैपटॉप के साथ आजमाया और मैं उन्हीं लक्षणों का अनुभव कर रहा हूं। मैंने 60666 की तुलना में विभिन्न बंदरगाहों का उपयोग करने की कोशिश की, लेकिन कुछ भी नहीं बदला। किसी को भी मुझे पता है कि मैं क्या गलत कर रहा हूँ?


अपडेट : जैसा कि @jwinders द्वारा बताया गया है, मैं telnet PC 3389लिनक्स सर्वर से सीधे नहीं चल पा रहा हूं । चूंकि विंडोज फ़ायरवॉल में पोर्ट 3389 पर सभी कनेक्शनों को अनुमति देने का नियम है, इसलिए मुझे नहीं पता कि यह क्या रोक रहा है। सौभाग्य से, मैं लिनक्स मशीन से पीसी तक एक एसएसएच सुरंग बनाने में सक्षम हूं ssh 3389:localhost:3389 'domain\user'@PC


मैं गंभीरता से सिर्फ उस बिंदु पर GoToMyPC का उपयोग करूँगा ।
ewwhite

1
@ मेरे पास ऐसा कोई कारण नहीं है जिसके कारण मुझे उस सेटअप का उपयोग करने में सक्षम नहीं होना चाहिए जिसका मैंने वर्णन किया है। यहां तक ​​कि अगर सरल समाधान हैं (जिसमें एक और तीसरे पक्ष को शामिल करने की आवश्यकता है), मैं इसे एक दिलचस्प चुनौती मानता हूं।
मिहाई टोडर

1
यह एक ved ld पोस्ट है, लेकिन समस्या अभी भी मौजूद है, और यह काफी निराशाजनक है कि सभी उत्तर बिंदु को याद करने लगते हैं। कनेक्शन शुरू किया जा सकता है, लेकिन यह शुरू होने के बाद एक दूसरे को तोड़ देता है। टिप्पणी है कि "आरडीपी के माध्यम से लॉगिन, उस कनेक्शन को बाधित करेगा" जो मनाया गया है उसके साथ सुसंगत लगता है लेकिन इसका जवाब नहीं है और न ही यह एक समाधान का सुझाव देता है।
कविताएं

जवाबों:


3

मैं उसी ब्लैक स्क्रीन में भाग गया था + आज अपने आप को समस्या है, अपने क्लाइंट के रूप में पोटीन का उपयोग करके। मुझे अंततः एक समाधान मिला ।

मैंने पोटीन से बिटविस टनलियर पर स्विच किया , और S2Cनिम्न सेटिंग्स के साथ एक कनेक्शन सेटअप किया :

listen if:0.0.0.0
listen port:13389
destination host:localhost
dest port:3389

जैसा कि मौका होगा, मैं अपने सर्वर पर बिटविश ssh सर्वर का उपयोग कर रहा हूं, इसलिए यह केवल एक ही विक्रेता द्वारा बनाए गए दो उत्पादों के लिए एक खुश संयोजन हो सकता है। यह बहुत अच्छा होगा यदि यह दूसरों के लिए समस्याओं को हल करता है।

रिकॉर्ड के लिए, मैं इन लोगों के साथ किसी भी तरह से संबद्ध नहीं हूं।


2

मुझे आपके SSH सुरंगों में कुछ भी गलत नहीं दिख रहा है। लोकलहोस्ट से कनेक्ट करना: पीसी पर 60666 लोकलहोस्ट पर समाप्त होना चाहिए: लैपटॉप पर 3389। और तथ्य यह है कि आपको लॉगिन स्क्रीन मिल रही है, इस मूल्यांकन की पुष्टि करता है।

: खाली स्क्रीन प्राप्त पर googling के एक बिट मुझे इस माइक्रोसॉफ्ट ज्ञान का आधार लेख करने के लिए http://support.microsoft.com/kb/555840 । यह संभव MTU आकार बेमेल के कारण एक खाली स्क्रीन बताता है:

सत्यापित करें कि सर्वर, क्लाइंट और "MTU" आकार का उपयोग कर नेटवर्क उपकरण।

आपकी उचित मात्रा में नेटवर्क हॉप्स, फायरवॉल और आपके पास क्या है, को देखते हुए पैकेट विखंडन की काफी संभावना है :) अधिकांश विंडोज मशीनें डिफ़ॉल्ट रूप से 1300 के एमटीयू का उपयोग करती हैं, जबकि अधिकांश लिनक्स बॉक्स में 1500 (LAN के लिए अधिकतम अनुमत मूल्य, जूम फ्रेम पर विचार नहीं किया जाता है) )। विखंडन को कम करने के लिए आप इन्हें कम करने की कोशिश कर सकते हैं।

यह सभी देखें:


1
टिप के लिए धन्यवाद, लेकिन, दुर्भाग्य से, यह चाल नहीं करता है। मेरे लैपटॉप और पीसी दोनों पर MTU 1500 ( netsh interface ipv4 show subinterfaces) पर सेट है और ping linux_server -f -l 1472दोनों मशीनों से सफल होता है। एक परीक्षण के रूप में, मैंने पीसी पर MTU को 1300 पर सेट करने की कोशिश की, लेकिन इससे कोई फायदा नहीं हुआ। मैंने इसे लैपटॉप पर भी बदलने की कोशिश की, लेकिन कोई फायदा नहीं हुआ :( मैं सोच रहा हूं कि क्या इस मुद्दे पर बहस करने का कोई "होशियार" तरीका है ...
Mihai Todor

1

क्या कोई वीपीएन अधिक उपयुक्त नहीं होगा? OpenVPN कॉन्फ़िगर करने के लिए सुपर सरल है। प्रमाणपत्र निर्माण प्रक्रिया के माध्यम से आपका मार्गदर्शन करने के लिए यहां एक नमूना विन्यास और कुछ लिंक दिए गए हैं।

बस मेजबान होने के लिए मध्यस्थ को कॉन्फ़िगर करें, और मेहमान एक दूसरे के साथ संवाद कर सकते हैं और अभी भी संवाद कर सकते हैं।

apt-get install openvpn
mkdir /etc/openvpn/easy-rsa
mkdir -p /etc/openvpn/ccd/client_server
touch /etc/openvpn/ipp.txt
cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
source ./vars
./clean-all
./build-ca 
./build-key-server server
./build-dh
cd /etc/openvpn/easy-rsa/keys
openssl pkcs12 -export -out server.p12 -inkey server.key -in server.crt -certfile ca.crt

फिर एक नई फ़ाइल बनाएं /etc/openvpn/client_server.confऔर उसमें निम्न डालकर, SERVER_IP_ADDRESSजैसा उचित हो, बदल दें

local SERVER_IP_ADDRESS
port 8443
proto udp
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
pkcs12 /etc/openvpn/easy-rsa/keys/server.p12
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
ifconfig-pool-persist /etc/openvpn/ipp.txt
server 192.168.100.0 255.255.255.0
client-config-dir /etc/openvpn/ccd/client_server
ccd-exclusive
keepalive 10 120
comp-lzo
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
reneg-sec 0
client-to-client

फिर एक कुंजी प्रति उपयोगकर्ता का निर्माण करें जो कनेक्ट करने जा रहा है, और ccd dir में कॉन्फिग फाइल बनाएँ

./build-key-pkcs12 user1@domain.com
echo "ifconfig-push 192.168.100.2 255.255.255.0" > /etc/openvpn/ccd/client_server/user1@domain.com

IP पता / 30 सबनेट के लिए उपयुक्त होना चाहिए ( http://www.subnet-calculator.com/cidr.php देखें ), क्योंकि प्रति कनेक्शन केवल 2 पते उपलब्ध हैं (सर्वर और क्लाइंट)। तो आपका अगला उपलब्ध क्लाइंट IP 192.168.100.6 और इसी तरह होगा।

तब आपके पास अब कनेक्टिंग उपयोगकर्ता प्रति स्थिर IP हैं।

फिर the user1@domain.com.p12एंड-यूज़र को फ़ाइल की आपूर्ति करें और निम्न कॉन्फ़िगरेशन फ़ाइल का उपयोग करें

client
dev tun
proto udp
remote SERVER_IP_ADDRESS 8443
pkcs12 user1@domain.com.p12
resolv-retry infinite
nobind
ns-cert-type server
comp-lzo
verb 3
reneg-sec 0

1
ठीक है, हाँ, यह काम कर सकता है, लेकिन सामान को स्थापित करने के लिए मेरे पास लिनक्स बॉक्स पर आवश्यक पहुंच नहीं है :( फिर भी, मुझे पूरी बात बेहद निराशाजनक लगती है, क्योंकि यह एक दिशा में काम करता है और यह विपरीत में विफल रहता है।
मिहाई टोडर

1

यदि आप उपयोगकर्ता खाते के भीतर ssh सत्र चला रहे हैं (प्रोग्राम जैसे कि putty.exe का उपयोग करके), जब आप rdp के माध्यम से लॉगिन करने का प्रयास करते हैं, तो यह उस कनेक्शन को बाधित कर देगा जिससे rdp सत्र टूट जाएगा। आपको जो करने की आवश्यकता है वह ssh सुरंग को एक सेवा के रूप में चलाएं जो बाधित नहीं होगी।


1
दिलचस्प। मेरे पास उस सेटअप तक पहुंच नहीं है, इसलिए मैं आपके सिद्धांत का परीक्षण नहीं कर पाऊंगा, लेकिन अन्य लोगों के लिए इस बारे में कुछ अतिरिक्त विवरण प्राप्त करना अच्छा होगा, जो एक ही मुद्दे का सामना कर रहे हैं। क्या आपके पास अपने दावों के लिए कुछ संदर्भ हैं? पुट्टी द्वारा कनेक्शन बाधित होने से आपका क्या मतलब है?
महाई टोडर

0

मुझे लगता है कि आप अपने लैपटॉप से ​​सभी कर सकते हैं

अपने लैपटॉप पर लिनक्स बॉक्स में एक पोटीन कनेक्शन सेटअप करें। फिर 'कनेक्शन'> 'एसएसएच'> 'सुरंगों' में 'सोर्स पोर्ट' फील्ड में 60666 डालें और सुनिश्चित करें कि स्थानीय रेडियो बटन का चयन किया गया है। 'गंतव्य' में आप win7-box-name-or-ip: 3389 दर्ज करें।

उस सब को बचाएं और यह आपको लाइन-बॉक्स में एक पुट्टी सत्र खोलने की अनुमति देनी चाहिए जो स्वचालित रूप से स्थानीय (आपके लैपटॉप) के लिए यातायात को अग्रेषित करने वाली सुरंग बनाता है: 60666 से win7: 3389

यदि आप कमांड लाइन पर ऐसा कर रहे हैं तो यह कुछ ऐसा होना चाहिए

ssh -L60666:win7:3389 linux-box

1
तो, चलो देखते हैं ... इस कॉन्फ़िगरेशन को लैपटॉप पर पीसी से बंदरगाह 60666 पर पोर्ट 3389 को आगे करना चाहिए। मैं नहीं देखता कि यह कैसे काम करेगा, हालांकि, और, किसी भी मामले में, यह मुझे लैपटॉप पर दूरस्थ डेस्कटॉप करने की अनुमति नहीं देगा ... जहां तक ​​मैं बता नहीं सकता, इसे 2 का उपयोग करने की आवश्यकता है सुरंगों।
मिहाई टोडर

इस आत्मविश्वास के साथ, आप अपने लैपटॉप पर लोकलहोस्ट: 60666 पर rdp नहीं कर सकते हैं?
जूलर्स

नहीं, यह काम नहीं करता है।
मिहाई टोडर

1
यह काम नहीं करता है। एकमात्र तरीका मैं ऐसा करने में सक्षम हूं जो पहले लिनक्स बॉक्स से पीसी तक एक सुरंग स्थापित ssh 3389:localhost:3389 'domain\user'@PCकरना है और फिर telnet localhost 3389लिनक्स बॉक्स पर करना है ।
मिहाई टोडर

1
यह एक दिलचस्प बिंदु है, लेकिन मुझे यकीन नहीं है कि मैं समझता हूं कि यह क्या अवरुद्ध है। विंडोज फ़ायरवॉल में एक नियम है जो डोमेन से पोर्ट 3389 पर सभी कनेक्शनों को स्पष्ट रूप से अनुमति देता है।
मिहाई टोडर

0

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


2
अच्छी कोशिश, लेकिन फिर भी किस्मत नहीं :(
मिहाई टोडर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.