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

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

Todos os meus computadores estão atrás de um único roteador. Eu tenho um servidor FileZilla rodando em um deles.

Estou tentando automatizar um upload para o servidor usando um script em lote e o ftp.exe integrado do Windows. 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 meu servidor. Posso me conectar e transferir perfeitamente usando o Google Chrome, o Windows Explorer e o cliente FileZilla.

No entanto, sempre que tento usar o ftp.exe (manualmente ou em script em lote), consigo me conectar ao servidor, mas se tentar fazer qualquer coisa que abra uma conexão de dados ( LIST, STORou RETR), recebo o seguinte erro:425 Can't open data connection.

Eu permiti o ftp.exe nos firewalls de ambos os computadores. Alguma idéia do que está acontecendo ou como posso consertar isso? Não preciso usar o ftp.exe se alguém souber de um cliente de linha de comando portátil independente (apenas um exe sem outros arquivos).

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

Responder1

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

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

Responder2

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

Responder3

A CLI do FTP do Windows oferece suporte ao modo PASSIVO. Use "quote pasv" para entrar no modo passivo.

informação relacionada