4 votes

Connexion à FTP Toujours Refusé

J'ai un ordinateur fonctionnant sous Ubuntu Server 16.04.

J'ai installé webmin qui fonctionne très bien. Webmin utilise son propre port et je peux m'y connecter sans problème, que ce soit au sein de mon réseau local ou à distance.

J'ai également SSH qui fonctionne correctement sur son propre port (reconfiguré sur le port de mon choix pour des raisons de sécurité). Je peux me connecter à distance et localement avec cela aussi.

Par ailleurs, j'ai également mis en place un système SSL pour mon nom de domaine en utilisant letsencrypt. Je ne sais pas si les informations précédentes sont nécessaires, mais je veux vraiment donner autant d'informations que possible, juste au cas où ces choses pourraient causer des conflits.

J'essaie maintenant de mettre en place un serveur ftp simple utilisant vsftpd dans le but de télécharger des fichiers par l'intermédiaire d'un client ftp directement dans le répertoire de /var/www/html . J'ai l'intention d'utiliser cette configuration pour mettre à jour le site web sur lequel je travaille actuellement. Si l'utilisation du FTP n'est pas la méthode préférée ou si vous pensez qu'il y a une meilleure option, je suis tout ouïe. Je travaille à faire fonctionner ce FTP depuis maintenant 10 heures et c'est vraiment frustrant. Il semble que cela devrait être simple et qu'il s'agit probablement d'une simple erreur qui peut être corrigée facilement.

Quoi qu'il en soit, j'ai fait comme pour les installations précédentes et j'ai ouvert les ports par défaut à la fois sur mon routeur et sur le pare-feu de webmin. J'ai ensuite configuré vsftpd avec les paramètres suivants.

listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
chroot_local_user=NO
allow_writeable_chroot=NO
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd

rsa_cert_file=/etc/letsencrypt/live/www.EXAMPLE.com/cert.pem
rsa_private_key_file=/etc/letsencrypt/live/www.EXAMPLE.com/privkey.pem
ssl_enable=YES

local_root=/var/www/html
pasv_min_port=40000
pasv_max_port=50000
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
listen_port=21

Répondre éventuellement à quelques questions supplémentaires sur la base des informations fournies : 1. J'ai ouvert les ports 20-22, 990 et 40000-50000. 20-22 pour FTP et SFTP. 990 pour FTPS. Enfin, les ports 40000-50000 sont mes ports pasv. Tous ces ports ont été ouverts lorsque j'ai essayé de résoudre ce problème de connectivité. 2. Ma liste d'utilisateurs est écrite comme suit [ ] utilisateur2 Je ne sais pas si c'est ainsi que le programme lit le fichier, mais j'ai pensé le mentionner. 3. Oui, je dissimule les noms d'utilisateur, les adresses IP et les noms de domaine. www.example.com n'est pas ce qui est écrit dans mon dossier. De même user1 y user2 ne sont pas mes vrais noms d'utilisateur.

Venons-en à la question elle-même. Voici ce que j'obtiens lorsque j'essaie d'accéder à ftp :

user1@www:~$ ftp x.x.x.x
ftp: connect: Connection refused
ftp> quit
user1@www:~$ ftp -p x.x.x.x
ftp: connect: Connection refused
ftp> 

La connexion est refusée, que je sois en local et que j'utilise mon adresse IP locale, ou à distance et que j'utilise l'IP publique.

Toute aide serait très appréciée. Je veux juste en finir avec ça :/

MISE À JOUR 1 :

Telnet m'a donné cette réponse :

user1@www:~$ telnet x.x.x.x 21
Trying x.x.x.x...
telnet: Unable to connect to remote host: Connection refused

6voto

JonSpade Points 101

Merci pour votre aide !

Certains paramètres de la vsftpd.conf a dû se tromper. Après avoir restauré ce fichier à son état par défaut, le problème a disparu.

Pour tous ceux qui ont le même problème, essayez ce qui suit :

Sauvegarde du fichier de configuration actuel.

sudo mv /etc/vsftpd.conf /etc/vsftpd.backup

Désinstallez vsftpd et purgez les fichiers de configuration.

sudo apt-get remove --purge vsftpd

Enfin, réinstallez vsftpd.

sudo apt-get install vsftpd

Testez maintenant les paramètres.

ftp -p x.x.x.x

en remplaçant évidemment les "X" par votre adresse IP réelle. L'adresse IP locale si vous êtes à l'intérieur du réseau, et l'adresse IP publique si vous êtes à l'extérieur du réseau.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X