Dateiübertragungsprotokoll (FTP ) wird für die nahtlose Übertragung oder den Austausch von Daten zwischen Maschinen und Computern benötigt, die im Internet oder in einem privaten Netzwerk definiert sind.
Über TCP (Übertragungskontrollprotokoll ), ein FTP Anwendung macht das Hoch- und Herunterladen von Dateidaten einfach. Dieser Artikel hilft Ihnen dabei, eine sichere Dateiübertragung auf einem FTP-Server durch den Very Secure FTP Daemon (vsftpd ) in Rocky Linux und AlmaLinux (Dieselbe Anleitung funktioniert auch auf RHEL und CentOS ).
FTP unter Rocky Linux installieren
Aktualisieren Sie zunächst Ihr Betriebssystem und installieren Sie den vsftpd Paket wie abgebildet.
$ sudo yum update $ sudo dnf install vsftpd
Aktivieren Sie nach der Installation den für vsftpd verantwortlichen Dienst aber starten Sie es noch nicht.
$ sudo systemctl enable vsftpd
FTP-Benutzer und Benutzerverzeichnis erstellen
Unser FTP Der Server sollte nur einem dedizierten Benutzer Zugriff gewähren. Lassen Sie uns eine erstellen.
$ sudo adduser lst-user $ sudo passwd lst-user
Der erstellte Benutzer muss mit einem FTP verknüpft sein Verzeichnis nach erfolgreicher Anmeldung am FTP-Server. Der Benutzer (lst-user ) hat jetzt neben Lese-, Schreib- und Ausführungsrechten den vollen Besitz dieses Verzeichnisses.
$ 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
Der letzte Schritt besteht darin, dass der FTP-Server diesen Benutzer erkennt (lst-user ) in seiner „user_list ” Datei.
$ sudo bash -c 'echo lst-user >> /etc/vsftpd/user_list'
FTP in Rocky Linux konfigurieren
Wir brauchen bestimmte vsftpd Konfigurationseinstellungen aktiviert und andere deaktiviert. Greifen Sie mit dem folgenden Befehl auf seine Konfigurationsdatei zu.
$ sudo nano /etc/vsftpd/vsftpd.conf OR $ sudo vi /etc/vsftpd/vsftpd.conf
Wenn Sie den nano nicht haben oder vi Editoren, installieren Sie es mit dem Befehl:
$ sudo yum install nano OR $ sudo yum install vim
Einmal die vsftpd.conf Datei geöffnet wird, vergewissern Sie sich, dass die Datei den folgenden Zeileneintragsbearbeitungen entspricht:
anonymous_enable=NO local_enable=YES write_enable=YES
Fügen Sie die folgenden Einträge hinzu.
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
Wir können jetzt starten und den Status unseres ursprünglich aktivierten vsftpd-Dienstes prüfen.
$ sudo systemctl restart vsftpd $ sudo systemctl status vsftpd
FTP-Ports auf Firewalld öffnen
Basierend auf den Konfigurationen, die wir in der Datei „/etc/vsftpd/vsftpd.conf vorgenommen haben “-Datei, den Portbereich „7000-7500 ” richtet sich an die passive vsftpd-Kommunikation. Die System-Firewall muss es zusammen mit dem Portbereich „20-21 aufnehmen ” für FTP-Daten und Verkehr respektvoll.
$ 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
FTP-Verbindung unter Linux testen
Der nächste Schritt besteht darin, diese FTP-Verbindung über die Befehlszeile zu testen. Um dieses Ziel zu erreichen, sollten Sie sich in einer Linux-Desktop-Betriebssystemumgebung befinden. Danach müssen Sie den ftp-Befehl eingeben, gefolgt von der IP-Adresse Ihres Servers. Wir verwenden den erstellten FTP-Benutzer (lst-user ) Zugangsdaten, um unseren FTP-Zugang zu testen.
$ ftp server-IP-address
VSFTPD mit SSL in Rocky Linux konfigurieren
Mit diesem Schritt können wir eine vsftpd-orientierte Zertifikatsdatei zum Verschlüsseln aller FTP-Verbindungen zwischen einem Remote-Server und einer Desktop-Umgebung erstellen. Dies ist eine empfohlene Sicherheitsmaßnahme, um die Dateiintegrität bei jeder FTP-initiierten Dateiübertragung zu gewährleisten.
Im folgenden Befehl sollte der Tagesparameter eine Schätzung der Dauer sein, die Sie beabsichtigen, Ihren FTP-Server zu verwenden oder aktiv zu halten.
$ sudo openssl req -x509 -nodes -days 185 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.key -out /etc/vsftpd/vsftpd.pem
Der FTP-Server muss den Speicherort und die Details dieses erstellten Zertifikats kennen.
$ sudo nano /etc/vsftpd/vsftpd.conf
Fügen Sie der obigen Datei die folgenden Einträge hinzu und speichern Sie sie:
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
Aufgrund der neu implementierten SSL-Regeln in dieser Konfigurationsdatei kann sich ein Benutzer jetzt nicht mehr über die Befehlszeile anmelden. Der folgende Screenshot demonstriert dieses Verbot.
$ ftp server-IP-address
Bevor wir unsere Verbindung nach der Installation des RSA-Zertifikats testen, sollten wir vsftpd erneut starten.
$ sudo systemctl restart vsftpd
FTP mit Filezilla testen
Installieren Sie FileZilla Client in Ihrer Linux-Desktopumgebung.
$ 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]
Starten Sie FileZilla und navigieren Sie zum Site-Manager aus der Datei Menü wie auf dem Screenshot dargestellt.
Als Nächstes müssen Sie Ihre FTP-Serverdaten eingeben und auf „Verbinden“ klicken.
Sie erhalten ein RSA-Zertifikat, das wir zuvor erstellt haben, um unsere FTP-Verbindung zu verschlüsseln.
Sie sollten das zuvor erstellte FTP-Verzeichnis für den Benutzer „lst-user“ sehen können “.
Der lst-user kann nun Daten von oder in das „ftp_directory herunterladen und hochladen “.
Ihr Linux-Server ist jetzt für Dateiübertragungen über FTP geeignet. Die Verwendung sicherer Zertifikatsdateien (RSA ) für Ihr FTP Verbindungen stellt sicher, dass Ihre Server- und Desktop-Umgebungs-Anmeldeinformationen niemals kompromittiert werden, während Sie sich in einem Netzwerk befinden.