FTP “425 Não é possível abrir a conexão de dados” só acontece ao usar o prompt de comando

8

Todo o meu computador está atrás de um único roteador. Eu tenho um servidor FileZilla em execução em um deles. Eu estou tentando automatizar um upload para o servidor usando um script em lotes e ftp.exe interno do Windows. Eu configurei um serviço DNS dinâmico para poder acessar meu servidor de fora do roteador e configurei o encaminhamento de porta no roteador para o meu servidor. Eu posso conectar e transferir muito bem usando o Google Chrome, o Windows Explorer e o cliente FileZilla. No entanto, sempre que eu tento usar ftp.exe (manualmente ou em script de lote), posso conectar-me ao servidor, mas se tentar fazer algo que abra uma conexão de dados (LIST, STOR ou RETR), recebo o seguinte erro: Não é possível abrir a conexão de dados. Eu permiti ftp.exe em ambos os firewalls do computador. Alguma idéia do que está acontecendo ou como eu poderia consertar isso? Eu não preciso usar ftp.exe se alguém sabe de um cliente de linha de comando independente (apenas um exe com nenhum outro arquivo) portátil.

EDIT Eu sei que meu ISP bloqueia muitas portas, incluindo 21 e várias outras nesse intervalo. Tudo isso é configurado na porta 2121, com as portas passivas configuradas como 2122-2142, todas elas foram encaminhadas no roteador. Talvez o ftp.exe só use uma determinada porta para conexão de dados, que meu ISP bloqueou? Se sim, como eu mudaria isso?

    
por Garrett 13.04.2012 / 13:41

3 respostas

5

FTP ativo regular usa uma conexão de dados iniciada pelo servidor separada para transferências e usa apenas a conexão regular da porta 21 como o canal de controle. Quando o cliente está protegido por um firewall, no entanto, é provável que o firewall bloqueie essa conexão. Eu estou supondo que o Chrome, o Explorer, o FireZilla, etc. sejam inteligentes o suficiente para experimentar o modo passivo, no qual a conexão inicial iniciada pelo cliente é usada como canal de controle e dados.

Parece que o cliente FTP CLI padrão do Windows não suporta o modo passivo. Então você precisa mudar para NcFTP . Alternativamente, e acho que provavelmente a melhor opção é usar o SFTP. O FTP é inseguro e, na verdade, só pode ser usado em LANs. O SFTP é totalmente criptografado e também usa apenas um único canal para dados e comandos. Se você precisa de um cliente CLI SFTP, PSFTP é uma boa opção.

    
por 13.04.2012 / 13:55
0

O Windows FTP CLI suporta o modo PASSIVO. Use "quote pasv" para entrar no modo passivo.

    
por 13.06.2012 / 17:53
0

Eu também tive esse problema. A solução foi parar o firewall do antivírus (no meu caso o McAfee), estava bloqueando as portas do FTP.

    
por 14.01.2014 / 14:06