web-dev-qa-db-fra.com

Connexion à FTP toujours refusée

J'ai un ordinateur sous Ubuntu Server 16.04.

J'ai mis en place Webmin qui fonctionne très bien. Webmin utilise son propre port et je peux me connecter sans problème à mon réseau local ou distant.

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

En passant, j'ai également configuré SSL pour mon nom de domaine à l'aide de letsencrypt. Je ne sais pas si l’une des informations précédentes est nécessaire, mais je tiens absolument à donner le plus d’informations possible, au cas où cela pourrait engendrer des conflits.

J'essaie maintenant de configurer un simple serveur ftp en utilisant vsftpd dans le but de télécharger des fichiers via 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. ÉGALEMENT, si l’utilisation de FTP n’est pas la méthode à privilégier ou si vous pensez qu’il existe une meilleure option, je suis tout ouïe. Je travaille à faire fonctionner ce FTP depuis environ 10 heures et c'est vraiment frustrant. Il semble que cela devrait être simple et cela a probablement été causé par une simple erreur qui a une solution simple.

Quoi qu'il en soit, j'ai procédé comme pour les installations précédentes et ouvert les ports par défaut de mon routeur et de mon pare-feu 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

Pour éventuellement répondre à quelques questions supplémentaires en fonction 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 comme mes ports pasv. Toutes ont été ouvertes pour tenter de résoudre ce problème de connectivité. 2. Ma liste d'utilisateurs est écrite comme suit: utilisateur1 utilisateur2 Je ne sais pas si c'est ainsi que le programme lit le fichier, alors j'ai pensé le mentionner. 3. Oui, je cache des noms d'utilisateur, des adresses IP et des noms de domaine. alors www.example.com n'est pas ce qui est écrit dans mon fichier. De plus, user1 et user2 ne sont pas mes vrais noms d'utilisateur.

Sur la question elle-même. Voici ce que je reçois 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 local et utilisant mon adresse IP locale ou distant et utilisant l'adresse 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
2
JonSpade

Merci pour l'aide!

Certains paramètres du fichier vsftpd.conf doivent être incorrects. Après avoir restauré ce fichier à son état par défaut, le problème a disparu.

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

Sauvegardez le 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

Maintenant, testez les paramètres.

ftp -p x.x.x.x

évidemment en remplaçant les "X" par votre adresse IP réelle. Adresse IP locale si dans le réseau et adresse IP publique de l'extérieur du réseau.

4
JonSpade