Cygwin ssh सर्वर कनेक्शन स्वीकार नहीं कर रहा है


14

मैंने अभी-अभी एक विंडोज 7 मशीन पर SSH सर्वर (OpenSSH) की स्थापना की है, जो कि साइबरविन का उपयोग कर रहा है और मैं इसे Windows Vista मशीन पर PuTTY का उपयोग करके कनेक्ट करने का प्रयास कर रहा हूं, लेकिन मुझे कनेक्शन समय पर नहीं मिल रहा है। मैंने विंडशार्क के साथ विन 7 मशीन पर नेटवर्क गतिविधि की जांच की है और पाया है कि मैं विन 7 मशीन पर पोर्ट 22 पर टीसीपी SYN प्राप्त कर रहा हूं, लेकिन ssh सर्वर उत्तर नहीं देता है। मैंने जांच की है कि पोर्ट नंबर sshd का उपयोग करने के लिए कॉन्फ़िगर किया गया है, मेरे फ़ायरवॉल नियमों की जाँच की और सत्यापित किया कि मैं लोकलहोस्ट कर सकता हूं (जो मैं ठीक कर सकता हूं)। मुझे पूरी तरह से पता नहीं है कि इस समस्या का कैसे निवारण किया जाए।


आपको शायद अपने फ़ायरवॉल को फिर से जांचना चाहिए, और / या इस पहलू पर विस्तार से बताना चाहिए।
16-28 को जेजलिन

जवाबों:


23

आपके पास विंडोज फ़ायरवॉल चल सकता है। ओपन: कंट्रोल पैनल -> विंडोज फ़ायरवॉल -> विंडोज फ़ायरवॉल के माध्यम से एक प्रोग्राम या फ़ीचर की अनुमति दें

"सेटिंग्स बदलें" बटन पर क्लिक करें फिर "एक और कार्यक्रम की अनुमति दें ..." बटन। SSHD शायद उस सूची में नहीं है जो ऊपर आती है, इसलिए बाइनरी को खोजने के लिए "ब्राउज़ करें ..." बटन का उपयोग करें और "ओपन" पर क्लिक करें और फिर "जोड़ें" पर क्लिक करें। मेरा C: \ cygwin \ usr \ sbin \ sshd.exe में था

कहीं न कहीं आप तय कर सकते हैं कि कौन सा "नेटवर्क स्थान प्रकार ..." आप उपयोग करना चाहते हैं। मैंने निजी जाँच और सार्वजनिक अनियंत्रित के साथ मेरा साथ छोड़ दिया। अब मैं दूरस्थ रूप से लॉगिन कर सकता हूं।


फ्रैंक के जवाब के आगे , जब मैंने अपने होम नेटवर्क पर एक कंप्यूटर पर एक गोपनीयता वीपीएन स्थापित किया, तो मैंने यही समस्या देखी। ऐसा इसलिए था क्योंकि वीपीएन के साथ कंप्यूटर अब सार्वजनिक नेटवर्क पर sshd से जुड़ रहा था। इसे ठीक करने के लिए मुझे सार्वजनिक स्थानों के साथ-साथ निजी तौर पर भी विंडोज फ़ायरवॉल के माध्यम से sshd की अनुमति देनी थी।
जेम्स हिर्सचोर्न

5

क्या आपका sshd_config ListenAddress को 0.0.0.0 या 127.0.0.1 के रूप में निर्दिष्ट करता है ?

यदि यह 0.0.0.0 है या सिर्फ टिप्पणी की गई है, तो आप मशीन के बाहर से कनेक्ट कर सकते हैं, अर्थात, दूसरे कंप्यूटर से।

यदि यह 127.0.0.1 (या कोई अन्य 127.0.0.x संख्या) है, तो यह केवल LOCALHOST पर सुन रहा है, और आप केवल SAME मशीन से लॉग इन कर सकते हैं। बाहरी मशीनों से वंचित हैं।


2
यह टिप्पणी की गई है।
सूरमा

1

बिना किसी प्रभाव के खिड़कियों के फ़ायरवॉल के साथ खिलवाड़ करने के बाद, मैंने अंततः पाया कि मुझे Cygwin में अपने स्वयं के सबनेट से /etc/hosts.allow फ़ाइल के माध्यम से कनेक्शन की अनुमति देनी थी।

पहले नियम के रूप में इस लाइन (मेरे सबनेट का उपयोग करके) ने मेरे लिए मुद्दा तय किया।

सभी: 192.168.0.0/24: अनुमति दें


1
Hosts.allow या hosts.deny के साथ एक समस्या कनेक्शन टाइमआउट का कारण नहीं होगी। यह SSH सर्वर को कनेक्शन स्वीकार करने का कारण बनता है, फिर प्रमाणीकरण प्रक्रिया के दौरान इसे छोड़ दें।
केनस्टर

@Kenster hosts.allow और hosts.deny TCP स्तर पर काम करते हैं। आप SSH सर्वर से कनेक्ट नहीं कर पाएंगे क्योंकि आप SSH सर्वर तक पहुँचने से पहले ही लेयर 4 पर ब्लॉक हो जाते हैं।
१४:१४

@ मटक नो, यह सच नहीं है। hosts.allow और hosts.deny टीसीपी रैपर्स के लिए कॉन्फ़िगरेशन फाइल हैं । सर्वर प्रोग्राम (इस मामले में sshd) को टीसीपी कनेक्शन को स्वीकार करना है, दूरस्थ समापन बिंदु का आईपी पता प्राप्त करना है, फिर टीसीपी रैपर को यह देखने के लिए कॉल करें कि क्या क्लाइंट को अनुमति दी जानी चाहिए। यदि libwrap कहते हैं कि नहीं, तो सर्वर आमतौर पर कनेक्शन को छोड़ देता है।
केनस्टर

देखें जैसे sshd.c । LIBWRAP ifdefs देखें। यहाँ होस्ट्स_एक्सेस फ़ंक्शन है जिसे sshd कॉल कर रहा है। मैं यह भी नोट करूंगा कि sshd.c का सबसे हालिया संस्करण libwrap समर्थन को हटा देता है।
केनस्टर

@ केनस्टर, मेरा बुरा, आप सही कह रहे हैं। मैंने इसकी कोशिश की और मुझे निम्न त्रुटि मिली ssh_exchange_identification: Connection closed by remote host:। SU :) पर शुभ दिन
mtak

1

मेरे लिए समस्या /var/emptyफ़ाइल के गलत स्वामित्व के साथ थी । डिबग मोड में sshd डालने के बाद समस्या स्पष्ट हो गई /usr/sbin/sshd.exe -D -dd। मुझे इसे सही करना था:

chown [user]:[group] /var/empty

उपयोगकर्ता और समूह को ls -la /varनिर्देशिका से लिया गया (बस अन्य फ़ाइलों से मिलान किया गया)। अधिक जानकारी यहां देखें: https://docs.oracle.com/cd/E24628_01/install.121/e22624/preinstall_req_cygwin_ssh.htm#EMBSC340


आपको इंगित करने के लिए धन्यवादsshd -D -dd
जॉन ऑक्ले

0

सुनिश्चित करें कि आप जीत रहे हैं 7 एंटीवायरस पोर्ट 22 को ब्लॉक नहीं कर रहा है। इसके अलावा, अपनी विंडोज सर्विस पैनल पर जाएं और CYGWINsshd को खोजें और इसे सक्षम करें। बॉक्स का पता लगाने और जांच करने के लिए लॉगऑन सेट करें।

यह समस्या ठीक करेगा: उपयोगकर्ता @ mymachine ~ $ net start sshd सिस्टम त्रुटि 1069 हुई है।

लॉगऑन विफलता के कारण सेवा प्रारंभ नहीं हुई।

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