web-dev-qa-db-fra.com

Impossible de connecter des utilisateurs virtuels avec VSFTPD

Je sais que cela a été demandé avant (par exemple ici ), mais je suis complètement coincé et je n'ai aucune idée de la façon de le faire fonctionner.

J'essaie de configurer plusieurs utilisateurs FTP, chacun avec son propre sous-dossier (afin que l'utilisateur ne puisse voir que son dossier racine, et rien d'autre).

le problème actuel est que sur FileZilla, je reçois

Command:    open "[email protected]" 22
Command:    Trust new Hostkey: Once
Command:    Pass: ******
Error:  Authentication failed.
Error:  Critical error: Could not connect to server

/etc/vsftpd.conf

listen=YES
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
connect_from_port_20=YES
nopriv_user=vsftpd
virtual_use_local_privs=YES
guest_enable=YES
user_sub_token=$USER
local_root=/home/ftpmain/ftp/$USER
hide_ids=YES
guest_username=vsftpd
secure_chroot_dir=/var/run/vsftpd/empty
ssl_enable=YES
allow_anon_ssl=NO
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
pasv_address=123.123.123.123
pasv_enable=Yes
pasv_min_port=40000
pasv_max_port=50000
chroot_local_user=YES
chroot_list_enable=NO

/etc/pam.d/vsftpd

auth required pam_pwdfile.so pwdfile /etc/vsftpd/ftpd.passwd
account required pam_permit.so

le dossier User1 ressemble à ceci (après Chmod + CHEWN):

/home/ftpmain/ftp/user1$ ll
total 12
dr-xr-xr-x 3 root   root    4096 Mar 18 19:17 ./
dr-xr-xr-x 4 nobody nogroup 4096 Mar 18 19:09 ../
drwxr-xr-x 2 vsftpd nogroup 4096 Mar 18 19:17 folder1/

netstat

$ netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -
tcp6       0      0 :::22                   :::*                    LISTEN      -

Une idée de ce que je manque et comment le faire fonctionner? Y a-t-il un moyen de le déboguer? Quelques fichiers journaux que je peux vérifier pourquoi la connexion échoue?

Toute aide serait appréciée, faites-moi savoir si vous avez besoin d'informations supplémentaires

P.S: courir sur Ubuntu 18.04

METTRE À JOUR

J'ai trouvé cette erreur dans le fichier/var/log/auth-fichier:

$ tail -f /var/log/*

Apr 30 15:05:49 ip-172-31-40-232 sshd[25641]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=111.111.111.111
Apr 30 15:05:51 ip-172-31-40-232 sshd[25641]: Failed password for invalid user user1 from 111.111.111.111 port 53251 ssh2
Apr 30 15:05:51 ip-172-31-40-232 sshd[25641]: error: Received disconnect from 111.111.111.111 port 53251:13: Unable to authenticate [preauth]
Apr 30 15:05:51 ip-172-31-40-232 sshd[25641]: Disconnected from invalid user user1 111.111.111.111 port 53251 [preauth]

J'ai découvert que VSFTPD ne fonctionne pas du tout! La raison pour laquelle je ne l'ai pas déjà vue, est parce que j'avais le travail SFTP (à l'aide du port 22). L'état de VSFTPD était "échoué".

$ Sudo /etc/init.d/vsftpd status
● vsftpd.service - vsftpd FTP server
   Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Tue 2019-04-30 15:45:56 UTC; 2s ago
  Process: 25980 ExecStart=/usr/sbin/vsftpd /etc/vsftpd.conf (code=exited, status=2)
  Process: 25972 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, status=0/SUCCESS)
 Main PID: 25980 (code=exited, status=2)

Je gère manuellement le VSFTPD à partir de la ligne de commande et découvert qu'il y a une erreur de certificat

$ Sudo /usr/sbin/vsftpd /etc/vsftpd.conf
500 OOPS: SSL: cannot load RSA certificate
1
justadev

J'ai corrigé ce problème en ajoutant le certificat au fichier CONF

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
2
justadev