web-dev-qa-db-fra.com

FileZilla: Échec d'extraction de la liste de répertoires

J'utilise Ubuntu 12.04 en tant qu'hôte et j'ai installé Ubuntu 14.04 dans Virtualbox en tant qu'OS invité. J'ai installé et configuré VSFTPD sur Ubuntu 14.04 et transféré le port de la virtualbox comme suit: enter image description here Maintenant, j'utilise FileZilla dans mon système d'exploitation hôte afin d'accéder au système d'exploitation invité.
Voici les détails de connexion à FileZilla:
Host: 127.0.0.1
Nom d'utilisateur: hasan
Mot de passe: -----
Port: 8181
Maintenant, j'appuie sur le bouton Quickconnect pour accéder au système invité.
Login a été un succès, mais filezilla n’a pas pu accéder au système invité !.
Voici les messages:

Status: Connecting to 127.0.0.1:8181...
Status: Connection established, waiting for welcome message...
Response:   220 (vsFTPd 3.0.2)
Command:    USER hasan
Response:   331 Please specify the password.
Command:    PASS ******
Response:   230 Login successful.
Command:    OPTS UTF8 ON
Response:   200 Always in UTF8 mode.
Status: Connected
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/home/hasan"
Command:    TYPE I
Response:   200 Switching to Binary mode.
Command:    PASV
Response:   227 Entering Passive Mode (10,0,2,15,224,245).
Command:    LIST
Error:  Connection timed out
Error:  Failed to retrieve directory listing

J'ai été incapable de résoudre ce problème. Une idée?

1
rakibtg

Le transfert de port simple ne suffit pas pour FTP. Le FTP a une connexion de contrôle sur le port 21, que vous avez correctement mappé sur le port 8181. Mais pour transférer des fichiers ou des listes de répertoires, FTP ouvre une autre connexion. Il y a deux façons d'ouvrir cette connexion:

  • Mode passif: c'est ce que vous utilisez. Dans ce cas, le serveur FTP alloue un port aléatoire sur le serveur et indique à l'adresse IP du client et au port à l'aide de la réponse à la commande passive. Dans votre cas, il s’agit de "227 Passing Passive Mode (10,0,2,15,224,245)", ce qui signifie que le serveur attend au port 5758 IP 10.0.2.15. 57589 sur le serveur n'est pas accessible de l'extérieur, la connexion échouera.
  • Mode actif: le client ouvre un écouteur sur un port aléatoire et informe le serveur de ce port. Le serveur essaiera ensuite de se connecter du port 20 à ce port. Cela pourrait fonctionner si le système Ubuntu 14.04 de la VirtualBox peut accéder au système hôte (12.04). Si cela est possible, cela dépend de votre configuration.

Quoi qu'il en soit, FTP est un protocole moche si des redirections de ports ou des pare-feu sont impliqués. Je recommanderais plutôt d'utiliser sftp, qui est également pris en charge par FileZilla et qui n'a besoin que d'un serveur SSH de l'autre côté (que vous avez probablement déjà car vous avez transféré le port 22).

3
Steffen Ullrich