FileZilla: falha ao recuperar a listagem de diretórios

1

Estou executando o Ubuntu 12.04 como host e instalei o Ubuntu 14.04 no Virtualbox como sistema operacional convidado. Eu instalei e configurei o VSFTPD no Ubuntu 14.04 e enviei a porta da caixa virtual da seguinte forma: Agora estou usando o FileZilla no meu sistema operacional host para acessar o sistema operacional convidado.
Aqui está o detalhe de login do FileZilla:
Host: 127.0.0.1
Nome de usuário: hasan
Senha: --- - Porto : 8181
Agora eu pressiono o botão Quickconnect para acessar o sistema operacional convidado.
O login foi bem-sucedido, mas o filezilla não conseguiu acessar o sistema operacional.
Aqui estão as mensagens:

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

Não consegui corrigir isso. Alguma idéia?

    
por rakibtg 10.09.2014 / 10:54

1 resposta

3

O encaminhamento de porta simples não é suficiente para o FTP. O FTP tem uma conexão de controle na porta normalmente 21, que você mapeou com sucesso para a porta 8181. Mas para transferir arquivos ou listagens de diretório, o FTP abre outra conexão. Existem duas maneiras de abrir esta conexão:

  • Modo passivo: é isso que você usa. Nesse caso, o servidor FTP aloca uma porta aleatória no servidor e informa ao IP e à porta do cliente usando a resposta ao comando passivo. No seu caso, isto é "227 Entrando no Modo Passivo (10,0,2,15,224,245)", o que significa que o servidor aguarda na porta IP 10.0.2.15, 57589. Como o cliente não o faz agora, 10.0.2.15 é o servidor e desde a porta 57589 no servidor não é acessível de fora a conexão irá falhar.
  • Modo ativo: aqui o cliente abre um ouvinte em uma porta aleatória e informa o servidor sobre essa porta. O servidor tentará então conectar-se da porta 20 a essa porta. Isso pode funcionar se o sistema Ubuntu 14.04 dentro do VirtualBox puder acessar o sistema host (12.04). Se isso for possível, depende da sua configuração.

De qualquer forma, o FTP é um protocolo feio se encaminhamentos de porta ou firewalls estiverem envolvidos. Eu recomendaria usar o sftp, que também é suportado pelo FileZilla e que precisa apenas de um servidor SSH do outro lado (o que você provavelmente já tem porque redireciona para a porta 22).

    
por Steffen Ullrich 10.09.2014 / 18:23