Befehlszeilen-FTP-Funktion funktioniert nicht

Ich verwende Windows 7 und habe mehrere FTP-Client-Anwendungen, die problemlos funktionieren. Wenn ich jedoch Befehlszeilen-FTP verwende, kann ich mich verbinden, anmelden (nach Eingabe von Benutzername und Passwort), aber es wird immer getrennt, wenn der Befehl dir oder ls verwendet wird. Die Antwort lautet:

Verbindung durch Remote-Host geschlossen.

Wie kann ich dieses problem beheben?

Author: Peter Mortensen, 2010-11-28

6 answers

Normalerweise sehen Sie, dass diese Art von Dingen passiert, wenn der Server versucht, eine Verbindung zu Ihnen herzustellen, dies jedoch nicht kann. FTP verwendete ursprünglich zwei TCP - Kanäle. Einer war für Befehle und der andere für die Übertragung von Daten. Wenn Sie den Befehl dir ausführen, wird ein Datenkanal verwendet. Der Datenkanal wird bei Bedarf eingerichtet und führt dazu, dass der Server versucht, eine Verbindung zu Ihnen herzustellen.

Das wird höchstwahrscheinlich von Ihrem Router oder Ihrer Windows-Firewall blockiert. Sie benötigen einen Client, der PASV Modus.

Sie können den PASV-Modus im Internet Explorer aktivieren. Oder verwenden Sie einen anderen client. Ich bin nicht sicher, ob die Befehlszeilenversion den PASV-Modus verwenden kann. Es ist ein sehr einfacher Client.

 14
Author: Matt H,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-05-09 17:35:04

Ich hatte ein Problem mit der Übertragung von Dateien über FTP, sobald ich in das betreffende Feld eingeloggt war. Es würde den Dateinamen erstellen, aber die Datei war leer. Ich habe es wie folgt gelöst:

  • Gehe zu Systemsteuerung → Windows Firewall → Erweiterte Einstellungen → Eingehende Regeln
  • Doppelklicken Sie auf die Spalte Name, um nach Name zu sortieren
  • Scrollen Sie nach unten, bis Sie zwei Regeln namens "File Transfer Program" sehen; Diese wurden auf gesetzt Block auf meinem PC (großer roter Kreis mit einer Linie durch ihn)
  • Doppelklicken Sie auf die Regel -
  • Auf der Registerkarte Allgemein , unter Aktion , auf Die Verbindung zulassen
  • Klicken Sie auf OK
  • Tun Sie dies für die andere Regel -

Es sollte gut sein, jetzt zu gehen.

 5
Author: Keljo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-05-09 17:38:21

Der Windows FTP-Befehlszeilenclient ftp.exe unterstützt nur einen aktiven FTP-Modus.

Das Einrichten des FTP im aktiven Modus kann heutzutage aufgrund von Firewalls und NATs umständlich sein.

Es ist wahrscheinlich, dass der Server aufgrund Ihrer lokalen Firewall oder NAT keine Verbindung zu Ihrem Client herstellen konnte, um eine Datenübertragungsverbindung für die Verzeichnisliste herzustellen (Befehlels oder dir).

Oder Ihr Client kennt seine externe IP-Adresse nicht und stellt eine interne Adresse bereit stattdessen an den Server (im Befehl PORT), den der Server offensichtlich nicht verwenden kann.

Siehe mein Artikel Netzwerkkonfiguration für den aktiven Modus.


Wenn möglich, sollten Sie einen passiven Modus verwenden, da dies normalerweise keine zusätzliche Einrichtung auf der Clientseite erfordert.

Leider unterstützt der Windows FTP-Befehlszeilenclient (der ftp.exe) den passiven Modus überhaupt nicht. Es macht es heutzutage ziemlich nutzlos.

Verwenden Sie eine andere Windows FTP-Befehlszeile client statt. Die meisten anderen unterstützen den passiven Modus.

Zum Beispiel verwendet WinSCP standardmäßig den passiven Modus und es gibt eine Anleitung zum Konvertieren von Windows FTP Script in WinSCP script.

(ich bin der Autor von WinSCP)

 5
Author: Martin Prikryl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-11-21 13:15:11

Ich bin auf einem Windows 2008-Server auf dieses Problem gestoßen.

Dieser Artikel schlägt vor, den Application Layer Gateway-Dienst zu aktivieren. Dies hat das Problem für mich nicht behoben.

Was das Problem behoben hat, war das Hinzufügen einer Ausnahme in der Windows-Firewall für C:\Windows\system32\ftp.exe -

 4
Author: pants,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-03-09 19:29:32

Ich hatte das gleiche Problem mit der POS-Software von Drittanbietern auf einem Windows 7-Computer, die Client-Transaktionsdaten auf einen SQL Server stapelt.

Es funktionierte einwandfrei, bis sich der Clientspeicherort ISPs und daher statische IP-Adressen änderten. Befehlszeilen-FTP-Befehle funktionierten nicht über die anfängliche Anmeldung hinaus und keines der Mittel, die ich online gefunden habe, oder dieser Thread funktionierte.

Nur für die kicks, die ich neu erstellt, das FTP-Regel in der firewall, ein cheapo D-Link router - /firewall - und viola, es scheint wieder zu funktionieren.

 1
Author: Plexus Sage,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-05-09 17:42:06

- FTP-Problem -

Offenen Ports auf azure NSG und server-firewall: 21,20,4000-40009,990,14147

Problem: Der Client kann über die Befehlszeile und Powershell keine Verbindung zu FTP herstellen

Wir können uns mit testuser verbinden, aber das Verzeichnis / die Liste nicht sehen

Installierte Wireshark auf dem Server und auf meinem Laptop, um Pakete zu erfassen Erstellt einen Filter auf Wireshark mit " ftp " und " IP" Die Paketerfassung gibt nicht an, ob es sich um einen passiven oder aktiven Modus handelt und die Quell-IP korrekt ist. (wir konfigurieren der primären IP und der sekundären IP auf dem Server)

Wir haben festgestellt, dass die FTP-Verbindung über die Eingabeaufforderung nicht funktioniert. versuch, eine Verbindung zu initiieren ftp.abcd.com was auf 11.22.33.44 und nicht auf den tatsächlichen FTP-Server 44.33.22.11 aufgelöst wurde Die IP-Adressen 11.22.33.44 und 44.33.22.11 sind beide auf demselben Computer konfiguriert. Der DNS wurde jedoch in die sekundäre FTP-IP anstelle von Primary

Zunächst fanden wir auch, dass die FTP-Verbindungen zu 11.22.33.44 funktionierte gut und diese Verbindungen waren aktive Verbindungen. Wir konnten nicht sehen, dass der passive Modus hier funktioniert. Auch beim Initiieren der Verbindung zu 11.22.33.44 von Commad promt friert die Sitzung ein, nachdem Sie den Befehl 'dir' gegeben haben, aber dasselbe funktioniert mit anderen FTP-Clients wie FileZilla und Winscp.

Ich habe versucht, mit WinSCP und FileZilla zu testen und festgestellt, dass passive Modusverbindungen einwandfrei funktionieren und nicht aktiv sind, was ein erwartetes Verhalten ist. Wir haben überprüft, warum das 'dir' befehl funktioniert nicht von den Geräten nach der erfolgreichen Authentifizierung, wir haben zu sehen, dass die Windows-Firewall blockiert die Verbindung. Wir haben die Firewall deaktiviert und alles begann wie erwartet zu funktionieren. Ich habe dasselbe an meinem Ende überprüft, nachdem ich die Firewall-Regel erstellt hatte, Probleme wurden behoben. Es gab ein System, das auch nach dem Deaktivieren der Firewall in der Verzeichnisliste stecken blieb, Dies kann ein Problem in diesem System sein oder die Verbindungen werden von einem externen blockiert Faktor. Da nach dem Deaktivieren die meisten von uns gut funktionieren können.

Einstellungen müssen auf dem Rechner vorgenommen werden Gehen Sie zu Systemsteuerung → Windows-Firewall → Erweiterte Einstellungen → Eingehende Regeln Doppelklicken Sie auf die Spalte Name, um nach Namen zu Sortieren Scrollen Sie nach unten, bis Sie zwei Regeln namens "File Transfer Program" sehen; Diese wurden auf meinem PC blockiert (großer roter Kreis mit einer Linie durch sie) Doppelklicken Sie auf die Regel Legen Sie auf der Registerkarte Allgemein unter Aktion fest, dass die Verbindung zulässig ist Klicken Sie auf OK

 0
Author: Desh Kanth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-12-19 19:28:12