J'utilise Windows 7 et j'ai plusieurs applications client FTP fonctionnant sans problème. Cependant, lorsque j'utilise le FTP en ligne de commande, je peux me connecter, me connecter (après avoir entré le nom d'utilisateur et le mot de passe), mais il est toujours déconnecté lorsque la commande dir ou ls est utilisée. La réponse est:
Connexion fermée par l'hôte distant.
Comment puis-je résoudre ce problème?
Réponses:
Vous verrez généralement ce type de chose se produire lorsque le serveur tente de se reconnecter mais ne peut pas. FTP utilisait à l'origine deux canaux TCP . L'un était pour les commandes et l'autre pour le transfert de données. Lorsque vous exécutez la commande dir, elle utilise un canal de données. Le canal de données est établi à la demande et le serveur essaie de se reconnecter.
C'est probablement bloqué par votre routeur ou votre pare-feu Windows. Vous avez besoin d'un client qui prend en charge le mode PASV .
Vous pouvez activer le mode PASV dans Internet Explorer . Ou utilisez un autre client. Je ne sais pas si la version en ligne de commande peut utiliser le mode PASV. C'est un client très basique.
la source
J'ai eu un problème avec la transmission de fichiers via FTP une fois connecté à la boîte en question. Cela créerait le nom du fichier, mais le fichier était vide. Je l'ai résolu en procédant comme suit:
Ça devrait être bien d'y aller maintenant.
la source
Le client de ligne de commande FTP Windows
ftp.exe
prend uniquement en charge un mode FTP actif.La configuration du FTP en mode actif peut être fastidieuse de nos jours en raison des pare-feu et des NAT.
Il est probable qu'en raison de votre pare-feu local ou NAT, le serveur n'a pas pu se reconnecter à votre client pour établir une connexion de transfert de données pour la liste (
ls
ou lesdir
commandes) du répertoire .Ou votre client n'est pas au courant de son adresse IP externe et fournit à la place une adresse interne au serveur (dans la
PORT
commande), que le serveur n'est évidemment pas en mesure d'utiliser.Voir mon article Configuration réseau pour le mode actif .
Si possible, vous devez utiliser un mode passif car il ne nécessite généralement aucune configuration supplémentaire côté client.
Malheureusement, le client de ligne de commande FTP Windows (le
ftp.exe
) ne prend pas du tout en charge le mode passif. Cela le rend assez inutile de nos jours.Utilisez à la place tout autre client de ligne de commande FTP Windows. La plupart des autres prennent en charge le mode passif.
Par exemple, WinSCP utilise par défaut le mode passif et un guide est disponible pour convertir le script FTP Windows en script WinSCP .
(Je suis l'auteur de WinSCP)
la source
winscp.com
etwinscp.exe
dans le même dossier. Je crois que le message d'erreur indique clairement que lewinscp.com
recherchewinscp.exe
dans son dossier. Voir aussi winscp.net/eng/docs/executablesJ'ai rencontré ce problème sur un serveur Windows 2008.
Cet article suggère d'activer le service de passerelle de couche application. Cela n'a pas résolu le problème pour moi.
Ce qui a résolu le problème était l'ajout d'une exception dans le pare-feu Windows pour C: \ Windows \ system32 \ ftp.exe
la source
Je rencontrais le même problème avec un logiciel de point de vente tiers sur une machine Windows 7 qui regroupe les données de transaction client sur un serveur SQL.
Cela a bien fonctionné jusqu'à ce que l'emplacement du client change de FAI et, par conséquent, d'adresses IP statiques. Les commandes FTP en ligne de commande n'ont pas fonctionné au-delà de la connexion initiale et aucun des remèdes que j'ai trouvés en ligne ou ce fil n'a fonctionné.
Juste pour les coups de pied, j'ai recréé la règle FTP dans le pare-feu, un routeur / pare-feu cheapo D-Link et l'alto, cela semble fonctionner à nouveau.
la source
Problème FTP
Ports ouverts sur azure NSG et pare-feu de serveur: 21,20,4000-40009,990,14147
Problème: le client ne peut pas se connecter à ftp à partir de la ligne de commande et de Powershell
Nous pouvons nous connecter avec testuser mais ne pouvons pas voir le répertoire / List
Installation de Wireshark sur le serveur et sur mon ordinateur portable pour capturer les paquets Création d'un filtre sur Wireshark avec «ftp» et «IP» La capture de paquets ne dit pas que la météo est en mode passif ou actif et que l'IP source est correcte. (nous configurons l'IP primaire et l'IP secondaire sur le serveur)
Nous avons constaté que la connexion ftp ne fonctionne pas à partir de l'invite de commande. essayant d'établir une connexion à ftp.abcd.com qui se résolvait à 11.22.33.44 et non au serveur FTP réel 44.33.22.11 Les adresses IP 11.22.33.44 et 44.33.22.11 sont toutes deux configurées sur la même machine. Cependant, le DNS se résolvait à l'adresse IP FTP secondaire au lieu de primaire
Initialement, nous avons également constaté que les connexions FTP à 11.22.33.44 fonctionnaient bien et que ces connexions étaient des connexions actives. Nous n'avons pas pu voir que le mode passif fonctionne ici. De plus, lors de l'établissement de la connexion à 11.22.33.44 à partir de Promad promt, la session se bloque après avoir donné la commande «dir», mais la même chose fonctionne avec d'autres clients ftp comme FileZilla et Winscp.
J'ai essayé de tester avec WinSCP et FileZilla et j'ai pu voir que les connexions en mode passif fonctionnaient bien et pas actives, ce qui est un comportement attendu. Nous avons vérifié pourquoi la commande «dir» ne fonctionnait pas à partir des périphériques après l'authentification réussie, nous avons pu voir que le pare-feu Windows bloquait la connexion. Nous avons désactivé le pare-feu et tout a commencé à fonctionner comme prévu. J'ai vérifié la même chose de mon côté après avoir créé la règle de pare-feu, les problèmes ont été résolus. Il y avait un système qui, même après avoir désactivé le pare-feu, était bloqué dans la liste des répertoires, cela pouvait être un problème dans ce système ou les connexions étaient bloquées par un facteur externe. Depuis la désactivation, la plupart d'entre nous sont en mesure de bien fonctionner.
les paramètres doivent être définis sur la machine. Allez dans Panneau de configuration → Pare-feu Windows → Paramètres avancés → Règles entrantes Double-cliquez sur la colonne Nom pour trier par nom Faites défiler vers le bas jusqu'à ce que vous voyiez deux règles appelées «Programme de transfert de fichiers»; ceux-ci ont été définis sur Bloquer sur mon PC (grand cercle rouge avec une ligne) Double-cliquez sur la règle Sous l'onglet Général, sous Action, définissez sur Autoriser la connexion Cliquez sur OK
la source