web-dev-qa-db-fra.com

Obtenir "Je ne vais pas ouvrir de connexion à" lors de la connexion à un serveur FTP à partir de Google Compute Engine

J'ai ssh'ed à VM de mon moteur de calcul et je veux passer à un autre serveur via ftp Il a demandé mon nom d'utilisateur et mot de passe, je pouvais vous connecter sans problème. mais quand je fais ls ou get, je reçois cette erreur:

500 I won't open a connection to 10.240.XX.XX (only to XX.XX.XX.XX)
ftp: bind: Address already in use

Ce 10.240.XX.XX est mon adresse IP interne que j'ai vue dans ifconfig résultat.

Comment transférer des fichiers d’un autre serveur via FTP? System: Debian7

23
Nur Pinar

Vous utilisez le mode FTP actif pour vous connecter à un serveur exécutant Pure-FTPd. En mode actif, un serveur doit se reconnecter à un client pour ouvrir une connexion de transfert de données (pour le transfert de fichiers ou la liste de répertoires). Pour cela, le client envoie son adresse IP au serveur FTP dans la commande PORT.

Si le serveur FTP se trouve en dehors du réseau privé GCE, il ne peut évidemment pas se reconnecter à la machine cliente, car celle-ci est protégée par un pare-feu et par NAT. 

Et en réalité, Pure-FTPd vérifie explicitement que l'adresse IP de la commande PORT correspond à l'adresse IP du client de la connexion de contrôle FTP. Cela ne correspondra pas si le client envoie son adresse IP interne au sein du réseau GCE. Si tel est le cas, le serveur Pure-FTPd refuse le transfert (sans même essayer de se connecter) avec le message d'erreur, vous obtenez:

Je ne vais pas ouvrir une connexion à ... (seulement à ...)

(où le premier ... est l'adresse IP fournie par le client dans la commande PORT [l'adresse locale du réseau privé GCE), et le second ... est l'adresse IP externe [NATed] du client, connue du serveur).


Même si le client a signalé l'adresse externe [NATed] dans la commande PORT, cela ne fonctionnera toujours pas, car la tentative de connexion ne dépassera pas le NAT et le pare-feu.

Pour cette raison, le mode FTP passif existe, dans lequel le client se connecte au serveur pour ouvrir la connexion de transfert de données. En fait, personne n’utilise le mode actif de nos jours.

Voir (mon article) Modes de connexion FTP pour plus de détails sur les modes.

Alors, passez en mode passif. Comment cela est fait est spécifique au client.

  • Dans les clients de ligne de commande les plus courants * nix ftp, utilisez le commutateur de ligne de commande -p, bien que le mode passif soit utilisé par défaut dans tous les cas:

    -p Utilisez le mode passif pour les transferts de données. Autorise l'utilisation de ftp dans les environnements où un pare-feu empêche connexions du monde extérieur vers la machine cliente. Nécessite que le serveur FTP sup - Portez la commande PASV. C'est la valeur par défaut pour tous les clients (ftp et pftp) pour des raisons de sécurité concerne l'utilisation du mode de transfert PORT. L'indicateur est conservé pour des raisons de compatibilité uniquement et n'a aucun effet plus.

  • Certains clients prennent également en charge la commande passive.

53
Martin Prikryl

Activez votre FTP en mode passif. Si vous êtes déjà connecté, veuillez taper

ftp> passive
Passive mode on.

Vous utilisez actuellement FTP en mode passif.

24
RizonBarns

Si vous utilisez l'éditeur PsPad et que vous rencontrez le même problème, essayez de définir cette configuration pour votre connexion:

 enter image description here

2
paulalexandru