कमांड-लाइन एफ़टीपी फ़ंक्शन काम नहीं करता है


12

मैं विंडोज 7 का उपयोग कर रहा हूं और बिना किसी समस्या के कई एफ़टीपी क्लाइंट एप्लिकेशन काम कर रहे हैं। हालांकि, जब मैं कमांड-लाइन एफ़टीपी का उपयोग करता हूं, तो मैं कनेक्ट हो सकता हूं, लॉग इन (उपयोगकर्ता नाम और पासवर्ड दर्ज करने के बाद), लेकिन यह हमेशा डिस्क या एलएस कमांड का उपयोग होने पर डिस्कनेक्ट हो जाता है। प्रतिक्रिया है:

दूरस्थ होस्ट द्वारा कनेक्शन बंद।

मैं इस समस्या को कैसे ठीक करुं?


अपने फ़ायरवॉल में पोर्ट्स 20, 21 खोलें।
शॉन पर्किन्स

जवाबों:


13

आप आमतौर पर इस प्रकार का देखेंगे कि जब सर्वर आपसे वापस जुड़ने की कोशिश करता है लेकिन नहीं कर सकता। एफ़टीपी मूल रूप से दो टीसीपी चैनलों का उपयोग करता था। एक कमांड के लिए था, और दूसरा डेटा ट्रांसफर करने के लिए। जब आप dir कमांड चलाते हैं तो यह डेटा चैनल का उपयोग करता है। डेटा चैनल डिमांड पर स्थापित होता है और सर्वर में परिणाम आपको वापस जोड़ने की कोशिश करता है।

यह आपके राउटर या विंडोज फ़ायरवॉल द्वारा अवरुद्ध होने की सबसे अधिक संभावना है। आपको एक क्लाइंट की आवश्यकता है जो PASV मोड का समर्थन करता है।

आप Internet Explorer में PASV मोड को सक्षम कर सकते हैं । या एक अलग क्लाइंट का उपयोग करें। मुझे यकीन नहीं है कि कमांड-लाइन संस्करण PASV मोड का उपयोग कर सकता है या नहीं। यह बहुत बुनियादी क्लाइंट है।


धन्यवाद, मैट। मैंने सोचा था कि कमांड-लाइन एफ़टीपी क्लाइंट ने डिफ़ॉल्ट रूप से निष्क्रिय मोड का उपयोग किया था, लेकिन मुझे अभी कई पोस्ट मिली हैं जिसमें कहा गया है कि विंडोज कमांड-लाइन एफ़टीपी वास्तव में निष्क्रिय मोड को बाहर करता है। IE हमेशा FTP के लिए मेरी मशीन पर ठीक काम करता है। मैं बस FTP सर्वर से कुछ कच्चे डेटा की जांच करने के लिए कमांड-लाइन का उपयोग करना चाहता हूं।
हांग

एक प्रयोग के रूप में, आप देख सकते हैं कि इंटरनेट एक्सप्लोरर में PASV को सक्षम या अक्षम करने से फर्क पड़ता है .. या समान या समान त्रुटि देता है।
बार्लोप

1
ftp> PASV - अमान्य आदेश। (विंडोज 7 एंट।)। यह जवाब बिल्कुल वही है जो काम पर होता है।
ब्राच

6
इसके लिए QUOTE PASV
जोसेफटाइन्स

5

एक बार जब मुझे प्रश्न में बॉक्स में लॉग इन किया गया था, तो एफ़टीपी के माध्यम से फ़ाइलों को प्रसारित करने के साथ मुझे एक समस्या थी। यह फ़ाइल का नाम बनाएगा, लेकिन फ़ाइल खाली थी। मैंने निम्न कार्य करके इसे हल किया:

  • नियंत्रण कक्ष → विंडोज फ़ायरवॉल → उन्नत सेटिंग्स → इनबाउंड नियम पर जाएं
  • नाम से सॉर्ट करने के लिए नाम कॉलम पर डबल-क्लिक करें
  • नीचे स्क्रॉल करें जब तक आप "फाइल ट्रांसफर प्रोग्राम" नामक दो नियम नहीं देखते हैं; इन्हें मेरे पीसी पर ब्लॉक करने के लिए सेट किया गया था (इसके माध्यम से एक लाइन के साथ बड़ा लाल सर्कल)
  • नियम पर डबल-क्लिक करें
  • पर सामान्य टैब, के तहत कार्रवाई , सेट करने के लिए कनेक्शन की अनुमति दें
  • क्लिक करें OK
  • ऐसा दूसरे नियम के लिए करें

अब जाना अच्छा होना चाहिए।


ऐसा करने के सुरक्षा निहितार्थ क्या हैं?
पीटर मोर्टेंसन

अपने पीसी पर प्रोग्राम अब ftp का उपयोग कर सकते हैं।
मार्क डेवेन

नियमों को हटाना, फिर एफ़टीपी के माध्यम से कनेक्ट करना और "डायर" कमांड की तरह कुछ जारी करना (विंडोज फ़ायरवॉल को ट्रिगर करना यह पूछने के लिए कि क्या एफ़टीपी की अनुमति दी जानी चाहिए, और नियमों को फिर से बनाना, अगर आप कहते हैं कि हाँ) भी मदद कर सकता है।
mlvljr

5

विंडोज एफ़टीपी कमांड-लाइन क्लाइंट ftp.exeकेवल एक सक्रिय एफ़टीपी मोड का समर्थन करता है।

एफ़टीपी को सक्रिय मोड में सेट करना आजकल फायरवॉल और NAT के कारण बोझिल हो सकता है।

आपके स्थानीय फ़ायरवॉल या NAT के कारण यह संभव है कि निर्देशिका निर्देशिका ( lsया dirआदेशों) के लिए डेटा स्थानांतरण कनेक्शन स्थापित करने के लिए सर्वर आपके क्लाइंट से वापस कनेक्ट करने में सक्षम नहीं था ।

या आपका क्लाइंट इसके बाहरी आईपी पते से अवगत नहीं है और सर्वर ( PORTकमांड में) के बजाय एक आंतरिक पता प्रदान करता है , जिसे सर्वर स्पष्ट रूप से उपयोग करने में सक्षम नहीं है।

सक्रिय मोड के लिए मेरा लेख नेटवर्क कॉन्फ़िगरेशन देखें ।


यदि संभव हो, तो आपको एक निष्क्रिय मोड का उपयोग करना चाहिए क्योंकि आमतौर पर क्लाइंट-साइड पर अतिरिक्त सेटअप की आवश्यकता नहीं होती है।

दुर्भाग्य से विंडोज एफ़टीपी कमांड-लाइन क्लाइंट ( ftp.exe) बिल्कुल निष्क्रिय मोड का समर्थन नहीं करता है। यह आजकल बहुत बेकार बना देता है।

इसके बजाय किसी अन्य विंडोज एफ़टीपी कमांड-लाइन क्लाइंट का उपयोग करें। अधिकांश अन्य समर्थन निष्क्रिय मोड।

उदाहरण के लिए WinSCP निष्क्रिय मोड में चूक करता है और Windows FTP स्क्रिप्ट को WinSCP स्क्रिप्ट में कनवर्ट करने के लिए एक गाइड उपलब्ध है ।

(मैं WinSCP का लेखक हूं)


यह विंडोज के किसी भी संस्करण (XP के बाद से) पर काम करता है। आपको क्या त्रुटि मिल रही है? अधिक विवरण के साथ एक नया अलग प्रश्न पूछने पर विचार करें।
मार्टिन प्रिक्रील

आपको दोनों winscp.comऔर winscp.exeएक ही फ़ोल्डर में चाहिए। मेरा मानना ​​है कि त्रुटि संदेश स्पष्ट रूप से कहता है कि इसके फ़ोल्डर में winscp.comदिखता है winscp.exeWincp.net/eng/docs/executables
मार्टिन Prikryl

कृपया, टिप्पणी हटाएं।
मार्टिन प्रिक्रील

4

मुझे Windows 2008 सर्वर पर इस समस्या का सामना करना पड़ा।

यह आलेख एप्लिकेशन लेयर गेटवे सेवा को सक्षम करने का सुझाव देता है। इससे मेरे लिए समस्या ठीक नहीं हुई।

समस्या को ठीक करने के लिए Windows फ़ायरवॉल C: \ Windows \ system32 \ ftp.exe के लिए एक अपवाद जोड़ रहा था


1
डिफ़ॉल्ट विंडोज़ फ़ायरवॉल में ftp.exe को इसके अपवाद में शामिल किया गया है, लेकिन केवल घर / कार्य नेटवर्क के लिए। सुनिश्चित करें कि आप सार्वजनिक नेटवर्क पर नहीं हैं और सार्वजनिक नेटवर्क के लिए भी ftp की अनुमति दें।
Jags

1

मैं Windows 7 मशीन पर तृतीय-पक्ष POS सॉफ़्टवेयर के साथ एक ही समस्या का सामना कर रहा था जो SQL सर्वर पर क्लाइंट लेनदेन डेटा को बैच देता है।

यह तब तक ठीक काम करता है जब तक कि ग्राहक का स्थान ISP और बदल न जाए , इसलिए, स्थिर IP पते। कमांड-लाइन एफ़टीपी कमांड प्रारंभिक लॉगिन से परे काम नहीं करता था और कोई भी उपाय मुझे ऑनलाइन नहीं मिला या इस धागे ने काम किया।

बस किक के लिए, मैंने फ़ायरवॉल में एफ़टीपी नियम फिर से बनाया, एक सस्ता डी-लिंक राउटर / फ़ायरवॉल , और वायोला, यह फिर से काम करता हुआ प्रतीत होता है।


0

एफ़टीपी मुद्दा

Azure एनएसजी और सर्वर फ़ायरवॉल पर पोर्ट खोलें: 21,20,4000-40009,990,14147

समस्या: क्लाइंट कमांड लाइन और Powershell से ftp से कनेक्ट नहीं हो सकता

हम परीक्षार्थी से जुड़ने में सक्षम हैं लेकिन निर्देशिका / सूची को देखने में सक्षम नहीं हैं

पैकेट पर कब्जा करने के लिए सर्वर पर और मेरे लैपटॉप पर Wireshark स्थापित "ftp" और "IP" के साथ तारों पर एक फिल्टर बनाया गया है पैकेट पर कब्जा नहीं बताता है कि मौसम निष्क्रिय या सक्रिय मोड है और स्रोत आईपी सही है। (हम प्राथमिक आईपी और माध्यमिक आईपी सर्वर पर कॉन्फ़िगर करते हैं)

हमने पाया कि कमांड प्रॉम्प्ट से ftp कनेक्शन काम नहीं कर रहा है। ftp.abcd.com पर एक कनेक्शन शुरू करने की कोशिश की जा रही है जो 11.22.33.44 में हल हो रहा था और वास्तविक FTP सर्वर पर नहीं 44.33.22.11 आईपी पते 11.22.33.44 और 44.33.22.11 दोनों एक ही मशीन पर कॉन्फ़िगर किए गए हैं। हालाँकि, DNS प्राथमिक के बजाय द्वितीयक FTP IP में हल कर रहा था

प्रारंभ में, हमने यह भी पाया कि 11.22.33.44 पर एफ़टीपी कनेक्शन ठीक काम कर रहे थे और ये कनेक्शन सक्रिय कनेक्शन थे। हम यह देखने में असमर्थ थे कि पैसिव मोड यहां काम करता है। जब आप 'dir' कमांड देते हैं तो Commad से 11.22.33.44 पर कनेक्शन शुरू करते समय सेशन फ्रीज हो जाता है, लेकिन फाइलजिला और Winscp जैसे अन्य ftp क्लाइंट के साथ भी यही काम कर रहा है।

मैंने WinSCP और FileZilla के साथ परीक्षण करने की कोशिश की और यह देखने के लिए कि निष्क्रिय मोड कनेक्शन ठीक काम कर रहे हैं और सक्रिय नहीं है जो एक अपेक्षित व्यवहार है। हमने जाँच की कि सफल प्रमाणीकरण के बाद उपकरणों से 'dir' कमांड क्यों काम नहीं कर रहा है, हमें यह देखने को मिला कि विंडोज़ फ़ायरवॉल कनेक्शन को ब्लॉक कर रहा है। हमने फ़ायरवॉल को निष्क्रिय कर दिया और सब कुछ उम्मीद के मुताबिक काम करने लगा। मैंने फ़ायरवॉल नियम बनाने के बाद अपने अंत में उसी की जाँच की, मुद्दों का समाधान किया गया। एक प्रणाली थी जो फ़ायरवॉल को अक्षम करने के बाद भी निर्देशिका लिस्टिंग में अटक गई थी, यह उस सिस्टम के भीतर एक समस्या हो सकती है या बाहरी कारक द्वारा कनेक्शन अवरुद्ध किया जा रहा है। चूंकि हम में से अधिकांश को अक्षम करने के बाद ठीक काम करने में सक्षम हैं।

सेटिंग्स को मशीन पर करने की आवश्यकता है कंट्रोल पैनल पर जाएं → विंडोज फ़ायरवॉल → उन्नत सेटिंग्स → इनबाउंड नियम नाम से सॉर्ट करने के लिए डबल-क्लिक करें नाम स्क्रॉल करें जब तक कि आप "फाइल ट्रांसफर प्रोग्राम" नामक दो नियमों को न देखें; इन्हें मेरे पीसी पर ब्लॉक करने के लिए सेट किया गया था (इसके माध्यम से एक लाइन के साथ बड़ा लाल सर्कल) नियम पर डबल-क्लिक करें, एक्शन के तहत, कनेक्शन की अनुमति देने के लिए सेट करें पर क्लिक करें ठीक है


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