Protocollo di trasferimento file (FTP ) è necessario per il trasferimento o lo scambio senza interruzioni di dati tra macchine e computer definiti su Internet o su una rete privata.
Tramite TCP (Protocollo di controllo della trasmissione ), un FTP l'applicazione semplifica il caricamento e il download dei dati dei file. Questo articolo ti aiuterà a ottenere un trasferimento di file sicuro su un server FTP tramite Very Secure FTP Daemon (vsftpd ) in Rocky Linux e AlmaLinux (le stesse istruzioni funzionano anche su RHEL e CentOS ).
Installa FTP su Rocky Linux
Innanzitutto, aggiorna il tuo sistema operativo e installa vsftpd pacchetto come mostrato.
$ sudo yum update $ sudo dnf install vsftpd
Una volta installato, abilita il servizio responsabile di vsftpd ma non avviarlo ancora.
$ sudo systemctl enable vsftpd
Creazione di utenti FTP e directory utenti
Il nostro FTP il server dovrebbe concedere l'accesso solo a un utente dedicato. Creiamone uno.
$ sudo adduser lst-user $ sudo passwd lst-user

L'utente creato deve essere associato a un FTP directory dopo un accesso riuscito al server FTP. L'utente (lst-user ) ora ha la piena proprietà di questa directory oltre ai privilegi di lettura, scrittura ed esecuzione.
$ sudo mkdir -p /home/lst-user/ftp_directory $ sudo chmod -R 750 /home/lst-user/ftp_directory $ sudo chown lst-user: /home/lst-user/ftp_directory
Il passaggio finale è che il server FTP riconosca questo utente (lst-user ) nel suo “elenco_utenti ” file.
$ sudo bash -c 'echo lst-user >> /etc/vsftpd/user_list'
Configura FTP in Rocky Linux
Abbiamo bisogno di alcuni vsftpd impostazioni di configurazione abilitate e altre disabilitate. Accedi al suo file di configurazione con il seguente comando.
$ sudo nano /etc/vsftpd/vsftpd.conf OR $ sudo vi /etc/vsftpd/vsftpd.conf
Se non hai il nano o vi editor, installalo con il comando:
$ sudo yum install nano OR $ sudo yum install vim
Una volta che vsftpd.conf è aperto, assicurati che il file corrisponda alle seguenti modifiche alla voce di riga:
anonymous_enable=NO local_enable=YES write_enable=YES
Aggiungi le seguenti voci.
userlist_deny=NO chroot_local_user=YES allow_writeable_chroot=YES pasv_min_port=7000 pasv_max_port=7500 userlist_file=/etc/vsftpd/user_list

Ora possiamo avviare e controllare lo stato del nostro servizio vsftpd inizialmente abilitato.
$ sudo systemctl restart vsftpd $ sudo systemctl status vsftpd

Apri le porte FTP su Firewalld
Sulla base delle configurazioni che abbiamo effettuato in "/etc/vsftpd/vsftpd.conf ", l'intervallo di porte "7000-7500 ” si rivolge alla comunicazione passiva vsftpd. È necessario che il firewall di sistema lo contenga insieme all'intervallo di porte "20-21 ” per i dati FTP e il traffico rispettosamente.
$ sudo systemctl enable firewalld $ sudo systemctl restart firewalld $ sudo firewall-cmd --permanent --add-port=20-21/tcp $ sudo firewall-cmd --permanent --add-port=7000-7500/tcp $ sudo firewall-cmd --reload
Test della connessione FTP in Linux
Il passaggio successivo consiste nel testare questa connessione FTP dalla riga di comando. Per raggiungere questo obiettivo, dovresti trovarti in un ambiente del sistema operativo desktop Linux. Successivamente, dovrai digitare il comando ftp seguito dall'indirizzo IP del tuo server. Useremo l'utente FTP creato (lst-user ) credenziali per testare il nostro accesso FTP.
$ ftp server-IP-address

Configura VSFTPD con un SSL in Rocky Linux
Questo passaggio ci consente di creare un file di certificato orientato a vsftpd per crittografare tutte le connessioni FTP tra un server remoto e un ambiente desktop. È una misura di sicurezza consigliata per garantire l'integrità del file conservata di ogni trasferimento di file avviato da FTP.
Nel comando seguente, il parametro del giorno dovrebbe essere una stima della durata in cui intendi utilizzare il tuo server FTP o mantenerlo attivo.
$ sudo openssl req -x509 -nodes -days 185 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.key -out /etc/vsftpd/vsftpd.pem

Il server FTP deve essere a conoscenza della posizione e dei dettagli del certificato creato.
$ sudo nano /etc/vsftpd/vsftpd.conf
Aggiungi le seguenti voci al file sopra e salvalo:
rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.key ssl_enable=YES allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES ssl_tlsv1=YES ssl_sslv2=NO
Un utente ora non sarà in grado di accedere dalla riga di comando a causa delle nuove regole SSL implementate su questo file di configurazione. Lo screenshot seguente mostra questo divieto.
$ ftp server-IP-address

Prima di testare la nostra connessione dopo l'installazione del certificato RSA, dovremmo riavviare nuovamente vsftpd.
$ sudo systemctl restart vsftpd
Test FTP utilizzando Filezilla
Installa FileZilla client sul tuo ambiente desktop Linux.
$ sudo apt install filezilla [On Debian, Ubuntu & Mint] $ sudo yum install filezilla [On RHEL/CentOS/Fedora & Rocky Linux/AlmaLinux] $ sudo pacman -S filezilla [On Arch Linux] $ sudo zypper in filezilla [On OpenSUSE]
Avvia FileZilla e vai a Gestione sito dal File menu come illustrato nello screenshot.

Successivamente, devi inserire i dettagli del tuo server FTP e fare clic su Connetti.

Ti verrà incontro un certificato RSA che abbiamo creato in precedenza per crittografare la nostra connessione FTP.

Dovresti essere in grado di vedere la directory FTP che abbiamo creato in precedenza per l'utente "lst-user ”.

Il lst-user ora è possibile scaricare e caricare dati da o nella "directory_ftp ”.

Il tuo server Linux è ora utilizzabile per i trasferimenti di file tramite FTP. L'uso di file di certificati protetti (RSA ) per il tuo FTP connessioni assicura che le credenziali del server e dell'ambiente desktop non vengano mai compromesse mentre si è in rete.