FileZilla FTP zu AWS EC2 Windows Server 2012-Instanz: Verzeichnisliste konnte nicht abgerufen werden

4

Ich führe FileZilla FTP Server auf einer Windows Server 2012-Instanz von Amazon Web Services EC2 aus und möchte mit FileZilla Client von meinem Heim-PC aus einen FTP-Zugang herstellen. Ich habe diese Anweisungen befolgt, aber den Benutzer Administrator in Schritt 7 zusammen mit dem Kennwort des Benutzers verwendet:

So können Sie eine FTP-Verbindung zu Ihrer EC2-Instanz herstellen

In diesem Handbuch verwenden wir FileZilla. Wenn Sie es brauchen, googeln Sie FileZilla und laden Sie den KUNDEN herunter. Nicht der Server.

Schritt 1: Holen Sie sich Ihre öffentliche DNS-Adresse. Sie finden es unter den Informationen zu Ihrer Instanz unten.

Schritt 2: Finden Sie Ihren .pem-Schlüssel, den Sie erhalten haben, als Sie Ihre Instanz erhalten haben.

Schritt 3: Öffnen Sie FileZilla.

Schritt 4: Gehen Sie zu den FileZilla-Einstellungen und klicken Sie links auf SFTP.

Schritt 5: Fügen Sie einen neuen privaten Schlüssel hinzu. (Dein .pem Schlüssel)

Schritt 6: Wenn Sie einen .pem-Schlüssel verwenden, müssen Sie ihn konvertieren, da er sonst nicht funktioniert.

Schritt 7: Legen Sie oben in der Schnellverbindungsleiste Ihr öffentliches DNS in den Host, ec2-user, Port 22 (Port 22 ist SFTP statt FTP, AWS kickt FTP zurück.) Und KEIN PASSWORT.

Schritt 8: Klicken Sie auf Quickconnect.

Schritt 9: Fertig!

Ich kann erfolgreich eine Verbindung herstellen, erhalte jedoch die Fehlermeldung "Verzeichnisliste konnte nicht abgerufen werden". Dies ist die Ausgabe auf dem FileZilla-Client (DNS / IP aus Sicherheitsgründen bearbeitet)

Status: Resolving address of myAWSDNS.us-west-2.compute.amazonaws.com
Status: Connecting to xx.xx.xxx.xxx:21...
Status: Connection established, waiting for welcome message...
Response:   220-FileZilla Server version 0.9.41 beta
Response:   220-written by Tim Kosse ([email protected])
Response:   220 Please visit http://sourceforge.net/projects/filezilla/
Command:    USER Administrator
Response:   331 Password required for administrator
Command:    PASS ***********
Response:   230 Logged on
Status: Connected
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/" is current directory.
Command:    TYPE I
Response:   200 Type set to I
Command:    PASV
Response:   227 Entering Passive Mode (172,31,34,244,202,201)
Status: Server sent passive reply with unroutable address. Using server address instead.
Command:    MLSD
Response:   425 Can't open data connection.
Error:  Failed to retrieve directory listing

Und das ist die Ausgabe auf dem FileZilla Server:

(000004)9/14/2014 9:02:44 AM - (not logged in) (31.16.50.63)> Connected, sending welcome message...
(000004)9/14/2014 9:02:44 AM - (not logged in) (31.16.50.63)> 220-FileZilla Server version 0.9.41 beta
(000004)9/14/2014 9:02:44 AM - (not logged in) (31.16.50.63)> 220-written by Tim Kosse ([email protected])
(000004)9/14/2014 9:02:44 AM - (not logged in) (31.16.50.63)> 220 Please visit http://sourceforge.net/projects/filezilla/
(000004)9/14/2014 9:02:44 AM - (not logged in) (31.16.50.63)> USER Administrator
(000004)9/14/2014 9:02:44 AM - (not logged in) (31.16.50.63)> 331 Password required for administrator
(000004)9/14/2014 9:02:44 AM - (not logged in) (31.16.50.63)> PASS ***********
(000004)9/14/2014 9:02:44 AM - administrator (31.16.50.63)> 230 Logged on
(000004)9/14/2014 9:02:45 AM - administrator (31.16.50.63)> PWD
(000004)9/14/2014 9:02:45 AM - administrator (31.16.50.63)> 257 "/" is current directory.
(000004)9/14/2014 9:02:45 AM - administrator (31.16.50.63)> TYPE I
(000004)9/14/2014 9:02:45 AM - administrator (31.16.50.63)> 200 Type set to I
(000004)9/14/2014 9:02:45 AM - administrator (31.16.50.63)> PASV
(000004)9/14/2014 9:02:45 AM - administrator (31.16.50.63)> 227 Entering Passive Mode (172,31,34,244,202,205)
(000004)9/14/2014 9:02:45 AM - administrator (31.16.50.63)> MLSD
(000004)9/14/2014 9:02:55 AM - administrator (31.16.50.63)> 425 Can't open data connection.

Ich habe die Ports 21, 22 und 14147 sowohl in der Firewall der EC2-Instanz als auch in den Sicherheitsgruppeneinstellungen der Instanz für den Datenverkehr von allen IPs geöffnet.

Hat jemand eine Idee, was ich ändern kann, damit das funktioniert?

Vielen Dank,

Chris

user2606742
quelle

Antworten:

4

Während Sie Port 14747 in der EC2-Firewall geöffnet haben , angeblich für einen passiven Datenkanal, lauscht Ihr Server an verschiedenen Ports und hauptsächlich in einem weiten Portbereich , nicht an einem einzelnen Port.

Aus dem Client-Protokoll:

Antwort: 227 Aktivieren des passiven Modus (172,31,34,244, 202,201 )

Wobei 202 * 256 + 201 = Port 51913

Aus dem Server Log:

(000004) 14.09.2014 09:02:45 - Administrator (31.16.50.63)> 227 Aktivieren des passiven Modus (172,31,34,244, 202,205 )

Wobei 202 * 256 + 205 = Port 51917

Ich gehe davon aus, dass Sie den Server nicht für die Verwendung des von Ihnen geöffneten Ports konfiguriert haben. Verwenden Sie die Einstellungen für den passiven Modus in den FileZilla Server-Optionen :
https://wiki.filezilla-project.org/Network_Configuration#Passive_mode_2


Beachten Sie, dass die Verwendung eines einzelnen Datenports zu Problemen führen kann, wenn Sie nicht garantieren, dass die Portnummer für den Server reserviert ist.
Siehe Wie viele Datenkanalports benötige ich für einen FTP-Server?


Außerdem sollten Sie den FTP-Server mit seiner korrekten externen IP-Adresse konfigurieren.

Antwort: 227 Aktivieren des passiven Modus (172,31,34,244,202,201)
Status: Der Server hat eine passive Antwort mit einer nicht routbaren Adresse gesendet. Verwenden Sie stattdessen die Serveradresse.

Während FileZilla-Clients (und andere FTP-Clients) Server verarbeiten können, die eine ungültige IP-Adresse zurückgeben, tun dies einige FTP-Clients (zu Recht) nicht. Siehe externe Server - IP - Adresse für die passiven Modus - Übertragungen auf der gleiche Option Seite.

Martin Prikryl
quelle
Danke, ich habe mir deinen Link angesehen und die Einstellungen entsprechend konfiguriert, und es hat funktioniert! Vielen Dank Martin
user2606742
Könnten Sie bitte die Aussage "Wo 202 * 256 + 201 = Port 51913" erläutern? Vielen Dank :)
Manatttta
@manatttta Die Portnummer wird mit zwei Bytes ausgedrückt. Um die Zahl zu erhalten, verschieben Sie das erste Byte nach links um 8 Bits, was einer Multiplikation mit 256 (= 2 ^ 8) entspricht, und summieren Sie mit dem zweiten Byte.
Martin Prikryl
@MartinPrikryl ok danke! :) Also, was bedeutet dann die Zeichenfolge (172,31,34,244,202,205)?
Manatttta
IP 172.31.34.244, Port 51917 (= 202 * 256 + 205)
Martin Prikryl,