Estou usando o Windows 7 e tenho vários aplicativos de cliente FTP funcionando sem nenhum problema. No entanto, quando eu uso o FTP da linha de comando, posso conectar-me, efetuar login (depois de inserir o nome de usuário e a senha), mas ele sempre é desconectado quando o comando dir ou ls é usado. A resposta é:
Conexão fechada pelo host remoto.
Como posso resolver este problema?
windows-7
command-line
ftp
Hong
fonte
fonte
Respostas:
Você geralmente verá esse tipo de coisa acontecer quando o servidor tenta se conectar a você, mas não consegue. O FTP originalmente usou dois canais TCP . Um era para comandos e o outro para transferência de dados. Quando você executa o comando dir, ele usa um canal de dados. O canal de dados é estabelecido sob demanda e faz com que o servidor tente se conectar novamente a você.
Isso provavelmente está sendo bloqueado pelo seu roteador ou firewall do Windows. Você precisa de um cliente que suporte o modo PASV .
Você pode ativar o modo PASV no Internet Explorer . Ou use um cliente diferente. Não tenho certeza se a versão da linha de comando pode usar o modo PASV. É um cliente muito básico.
fonte
Ocorreu um problema ao transmitir arquivos via FTP, uma vez que estava conectado à caixa em questão. Isso criaria o nome do arquivo, mas o arquivo estava vazio. Eu o resolvi fazendo o seguinte:
Deve ser bom ir agora.
fonte
O cliente de linha de comando FTP do Windows
ftp.exe
suporta apenas um modo FTP ativo.Configurar o FTP no modo ativo pode ser complicado hoje em dia devido a firewalls e NATs.
É provável que, devido ao seu firewall local ou NAT, o servidor não tenha conseguido se conectar ao seu cliente para estabelecer uma conexão de transferência de dados para a listagem (
ls
oudir
comandos) de diretório .Ou seu cliente não está ciente de seu endereço IP externo e, em vez disso, fornece um endereço interno para o servidor (no
PORT
comando), o qual o servidor obviamente não pode usar.Veja meu artigo Configuração de rede para o modo ativo .
Se possível, você deve usar um modo passivo, pois normalmente não requer configuração adicional no lado do cliente.
Infelizmente, o cliente de linha de comando FTP do Windows (the
ftp.exe
) não suporta o modo passivo. Torna-o bastante inútil hoje em dia.Use qualquer outro cliente de linha de comando FTP do Windows. A maioria dos outros suporta o modo passivo.
Por exemplo, o WinSCP assume como padrão o modo passivo e há um guia disponível para converter o script FTP do Windows em script WinSCP .
(Eu sou o autor do WinSCP)
fonte
winscp.com
ewinscp.exe
na mesma pasta. Eu acredito que a mensagem de erro diz claramente que owinscp.com
procurawinscp.exe
em sua pasta. Veja também winscp.net/eng/docs/executablesEncontrei esse problema em um servidor Windows 2008.
Este artigo sugere a habilitação do serviço Gateway de camada de aplicativo. Isso não resolveu o problema para mim.
O que corrigiu o problema foi adicionar uma exceção no Firewall do Windows para C: \ Windows \ system32 \ ftp.exe
fonte
Eu estava enfrentando o mesmo problema com o software POS de terceiros em uma máquina Windows 7 que agrupa dados de transações de clientes de volta para um servidor SQL.
Funcionou bem até que o local do cliente alterou os ISPs e, portanto, os endereços IP estáticos. Os comandos de FTP da linha de comando não funcionaram além do logon inicial e nenhum dos remédios que encontrei online ou esse thread funcionou.
Apenas para começar, recriei a regra de FTP no firewall, um roteador / firewall D-Link barato e viola, parece estar funcionando novamente.
fonte
Problema de FTP
Portas abertas no NSG azul e no firewall do servidor: 21,20,4000-40009,990,14147
Problema: o cliente não pode se conectar ao ftp na linha de comando e no Powershell
Conseguimos conectar com testuser, mas não conseguimos ver o diretório / List
Instalado o Wireshark no servidor e no meu laptop para capturar pacotes Criou um filtro no wireshark com "ftp" e "IP" A captura de pacotes não indica o clima, é o modo passivo ou ativo e o IP de origem está correto. (configuramos o IP primário e o secundário no servidor)
Descobrimos que a conexão ftp não está funcionando no prompt de comando. tentando iniciar uma conexão com ftp.abcd.com que estava resolvendo para 11.22.33.44 e não para o servidor FTP real 44.33.22.11 Os endereços IP 11.22.33.44 e 44.33.22.11 estão configurados na mesma máquina. No entanto, o DNS estava resolvendo para o IP FTP secundário, em vez de primário.
Inicialmente, também descobrimos que as conexões FTP para 11.22.33.44 estavam funcionando bem e essas conexões eram conexões ativas. Não conseguimos ver que o modo Passivo funciona aqui. Além disso, ao iniciar a conexão com 11.22.33.44 do Commad, a sessão congela após o comando 'dir'; no entanto, o mesmo está funcionando com outros clientes ftp como o FileZilla e o Winscp.
Eu tentei testar com o WinSCP e o FileZilla e vi que as conexões do modo passivo estão funcionando bem e o Active não, o que é um comportamento esperado. Verificamos por que o comando 'dir' não está funcionando nos dispositivos após a autenticação bem-sucedida. Temos que ver que o firewall do Windows está bloqueando a conexão. Desabilitamos o firewall e tudo começou a funcionar como esperado. Eu verifiquei o mesmo após terminar de criar a regra do firewall, os problemas foram resolvidos. Havia um sistema que, mesmo depois de desativar o firewall, ficou preso na listagem de diretórios, isso pode ser um problema nesse sistema ou as conexões estão sendo bloqueadas por um fator externo. Desde depois de desabilitar a maioria de nós é capaz de funcionar bem.
as configurações precisam ser feitas na máquina Vá para Painel de controle → Firewall do Windows → Configurações avançadas → Regras de entrada Clique duas vezes na coluna Nome para classificar por nome Role para baixo até ver duas regras chamadas "Programa de transferência de arquivos"; eles foram definidos como Bloquear no meu PC (grande círculo vermelho com uma linha passando por ele) Clique duas vezes na regra Na guia Geral, em Ação, defina como Permitir a conexão. Clique em OK
fonte