GNU/Linux >> LINUX-Kenntnisse >  >> AlmaLinux

So richten Sie FTP/SFTP-Server und -Client auf AlmaLinux ein

FTP und SFTP sind großartige Protokolle zum Herunterladen von Dateien von einem entfernten oder lokalen Server oder zum Hochladen von Dateien auf den Server. FTP reicht für einige Situationen aus, aber für Verbindungen über das Internet wird SFTP empfohlen. Mit anderen Worten, die Verwendung von FTP über eine Internetverbindung ist nicht sicher, da Ihre Anmeldeinformationen und Daten unverschlüsselt übertragen werden. Das „S“ in SFTP steht für „Secure“ und tunnelt das FTP-Protokoll durch SSH, wodurch die Verschlüsselung bereitgestellt wird, die zum Herstellen einer sicheren Verbindung erforderlich ist.

In diesem Leitfaden gehen wir die Schritt-für-Schritt-Anleitungen durch, um einen FTP-Server über die VSFTP-Software oder einen SFTP-Server über OpenSSH auf AlmaLinux einzurichten. Dann werden wir sehen, wie man von einem Client-AlmaLinux-System aus eine Verbindung zum Server herstellt. Das Einrichten von FTP/SFTP ist ein üblicher Schritt nach der Installation von AlmaLinux oder der Migration von CentOS zu AlmaLinux.

In diesem Tutorial lernen Sie:

  • Wie man einen FTP-Server über VSFTPD einrichtet
  • So richten Sie einen SFTP-Server über OpenSSH ein
  • So richten Sie FTP- und SFTP-Benutzerkonten ein
  • So erlauben Sie FTP und SFTP durch die Firewalld
  • So stellen Sie über die Befehlszeile eine Verbindung zu einem FTP/SFTP-Server her
  • So stellen Sie über die GNOME-GUI eine Verbindung zu einem FTP/SFTP-Server her

So richten Sie einen FTP/SFTP-Server auf AlmaLinux ein

Softwareanforderungen und Linux-Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder verwendete Softwareversion
System AlmaLinux
Software VSFTPD, OpenSSH
Andere Privilegierter Zugriff auf Ihr Linux-System als root oder über sudo Befehl.
Konventionen # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl
$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden

Richten Sie einen FTP-Server über VSFTPD ein

Es gibt verschiedene Softwarepakete, mit denen man einen FTP-Server einrichten kann, aber eines der besten ist VSFTPD. Dieser Abschnitt zeigt Ihnen, wie Sie VSFTPD installieren und konfigurieren, um einen FTP-Server auf AlmaLinux einzurichten. Wenn FTP für Ihr Szenario nicht sicher genug ist und Sie lieber SFTP einrichten möchten, scrollen Sie nach unten zum entsprechenden Abschnitt unten.

VSFTPD-Installation

Installieren Sie VSFTPD auf Ihrem System, indem Sie diesen Befehl in das Terminal eingeben:

$ sudo dnf install vsftpd

FSFTPD-Server konfigurieren

  1. Es empfiehlt sich immer, eine Sicherungskopie der ursprünglichen Konfigurationsdatei aufzubewahren, falls später etwas schief geht. Lassen Sie uns die Standard-Konfigurationsdatei umbenennen:
    $ sudo mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_orig
    
  2. Erstellen Sie eine neue VSFTPD-Konfigurationsdatei mit nano oder einem anderen Texteditor Ihrer Wahl:
    $ sudo nano /etc/vsftpd/vsftpd.conf
    
  3. Kopieren Sie die folgende Basiskonfiguration in Ihre Datei. Diese Konfiguration reicht für einen einfachen FTP-Server aus und kann später an die spezifischen Anforderungen Ihrer Umgebung angepasst werden, sobald Sie überprüft haben, dass dies ordnungsgemäß funktioniert:
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    xferlog_std_format=YES
    listen=NO
    listen_ipv6=YES
    
    pam_service_name=vsftpd
    userlist_enable=YES

    Fügen Sie die obigen Zeilen in Ihre neu erstellte /etc/vsftpd/vsftpd.conf ein Datei, speichern Sie die Änderungen und schließen Sie die Datei.

  4. Die Standard-Firewall von AlmaLinux (firewalld) blockiert standardmäßig den FTP-Datenverkehr, aber der folgende Befehl erstellt eine Ausnahme, um den Datenverkehr zuzulassen:
    $ sudo firewall-cmd --zone=public --add-service=ftp --permanent
    $ sudo firewall-cmd --reload
    
  5. Wenn die Konfigurationsdatei gespeichert und die Firewall-Regeln aktualisiert sind, starten Sie VSFTPD neu, um die neuen Änderungen zu übernehmen:
    $ sudo systemctl restart vsftpd
    

Erstellen Sie einen FTP-Benutzer

Unser FTP-Server ist bereit, eingehende Verbindungen zu empfangen, also ist es jetzt an der Zeit, ein neues Benutzerkonto zu erstellen, das wir verwenden, um uns mit dem FTP-Dienst zu verbinden.

  1. Verwenden Sie diesen ersten Befehl, um ein neues Konto namens ftpuser zu erstellen , und den zweiten Befehl, um ein Passwort für das Konto festzulegen:
    $ sudo useradd -m ftpuser
    $ sudo passwd ftpuser
    New password: 
    Retype new password: 
    passwd: password updated successfully
    
  2. Um zu überprüfen, ob alles richtig funktioniert, sollten Sie mindestens eine Datei in ftpuser speichern 's Home-Verzeichnis. Diese Datei sollte sichtbar sein, wenn wir uns in den nächsten Schritten bei FTP anmelden.
    $ sudo bash -c "echo FTP TESTING > /home/ftpuser/FTP-TEST"
    

Über die Befehlszeile mit dem FTP-Server verbinden

Installieren Sie das FTP-Befehlszeilendienstprogramm mit dem folgenden Befehl:

$ sudo dnf install ftp

Sie sollten sich jetzt entweder über die IP-Adresse oder den Hostnamen mit Ihrem FTP-Server verbinden können. Um sich von der Befehlszeile aus zu verbinden und zu überprüfen, ob alles funktioniert, öffnen Sie ein Terminal und verwenden Sie AlmaLinux’s ftp Befehl zum Verbinden mit Ihrer Loopback-Adresse (127.0.0.1).

$ ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 3.0.3)
Name (127.0.0.1:root): ftpuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (127,0,0,1,71,72).
150 Here comes the directory listing.
-rw-r--r--    1 0        0              12 Apr 03 01:11 FTP-TEST
226 Directory send OK.
ftp>

Ihre Ausgabe sollte wie der obige Text aussehen und eine erfolgreiche Anmeldung und ein ls anzeigen Befehl, der unsere zuvor erstellte Testdatei anzeigt.

Über die GNOME-GUI mit dem FTP-Server verbinden

Sie können sich auch per GUI mit Ihrem FTP-Server verbinden, wenn Sie dies bevorzugen. Es gibt viele Optionen für FTP-Clients, aber die standardmäßige GNOME-GUI auf AlmaLinux bietet bereits die Möglichkeit, vom Dateimanager aus eine Verbindung zu FTP-Servern herzustellen. So verwenden Sie es, um sich mit Ihrem FTP-Server zu verbinden.

  1. Öffnen Sie den Dateimanager im Menü "Aktivitäten".
  2. Klicken Sie auf „Andere Standorte“ und geben Sie ftp://127.0.0.1 ein im Feld „Mit Server verbinden“ unten im Fenster und klicken Sie auf Verbinden.
  3. Stellen Sie mit dem GNOME-Dateimanager eine Verbindung zum FTP-Server her
  4. Geben Sie die zuvor eingerichteten Zugangsdaten des FTP-Kontos ein und klicken Sie auf Verbinden.
  5. Geben Sie den FTP-Benutzernamen und das Kennwort ein
  6. Bei erfolgreicher Verbindung sehen Sie die zuvor erstellte Testdatei.
  7. Erfolgreiche Verbindung zum FTP-Server

Richten Sie einen SFTP-Server über OpenSSH ein

Wenn Sie OpenSSH bereits auf AlmaLinux installiert und aktiviert haben, benötigen Sie keine zusätzliche Software, um einen SFTP-Server zu betreiben. Befolgen Sie die nachstehenden Anweisungen, um die richtigen Konfigurationsänderungen vorzunehmen, die Ihr System in einen SFTP-Server verwandeln.

Installieren und konfigurieren Sie OpenSSH

  1. Wenn es noch nicht installiert ist, verwenden Sie den folgenden Befehl, um OpenSSH zu installieren.
    $ sudo dnf install openssh-server openssh-clients
    
  2. Sobald SSH installiert ist, müssen wir einige Änderungen an der SSHD-Konfigurationsdatei vornehmen. Verwenden Sie nano oder Ihren bevorzugten Texteditor, um es zu öffnen:
    $ sudo nano /etc/ssh/sshd_config
    
  3. Scrollen Sie zum Ende der Datei und fügen Sie ganz am Ende die folgenden 5 Zeilen hinzu:
    Match group sftp
    ChrootDirectory /home
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp
    

    Die obigen Zeilen erlauben Benutzern im sftp Gruppe, über SFTP auf ihre Home-Verzeichnisse zuzugreifen, verweigert ihnen jedoch den normalen SSH-Zugriff, sodass sie niemals auf eine Shell zugreifen können. Nachdem Sie diese Zeilen eingefügt haben, speichern und schließen Sie die Konfigurationsdatei.

  4. Starten Sie den SSH-Dienst neu, damit diese neuen Änderungen wirksam werden:
    $ sudo systemctl restart sshd
    
  5. Die Standard-Firewall von AlmaLinux (firewalld) blockiert standardmäßig den SFTP/SSH-Datenverkehr, aber der folgende Befehl erstellt eine Ausnahme, um den Datenverkehr zuzulassen:
    $ sudo firewall-cmd --zone=public --add-service=ssh --permanent
    $ sudo firewall-cmd --reload
    

SFTP-Benutzerkonto erstellen

Jetzt müssen wir Benutzerkonten für jeden erstellen, dem wir SFTP-Zugriff gewähren möchten.

  1. Erstellen Sie eine neue Benutzergruppe namens sftp . Alle unsere SFTP-Benutzer müssen dieser Gruppe angehören.
    $ sudo groupadd sftp
    
  2. Erstellen Sie als Nächstes einen neuen Benutzer. Wir nennen unseren einfach sftpuser in diesem Beispiel. Achten Sie auch darauf, diesen Benutzer zum sftp hinzuzufügen Gruppe.
    $ sudo useradd -m sftpuser -g sftp
    
  3. Legen Sie ein Passwort für den neu erstellten sftpuser fest:
    $ sudo passwd sftpuser
    New password: 
    Retype new password: 
    passwd: password updated successfully
    
  4. Zu guter Letzt gewähren wir dem Benutzer vollen Zugriff auf sein eigenes Home-Verzeichnis, verweigern aber allen anderen Benutzern im System den Zugriff auf das Verzeichnis:
    $ sudo chmod 700 /home/sftpuser/
    

Unsere SFTP-Konfiguration ist abgeschlossen; Jetzt können wir uns anmelden, um sicherzustellen, dass alles richtig funktioniert.

Über die Befehlszeile mit dem SFTP-Server verbinden

Sie können sich über SFTP entweder mit dem Hostnamen oder der IP-Adresse Ihres Systems anmelden. Um von demselben System zu testen, auf dem Sie gerade SFTP konfiguriert haben, verbinden Sie sich mit der Loopback-Adresse

127.0.0.1

wird gut funktionieren.

  1. Öffnen Sie ein Terminal und melden Sie sich mit dem sftp-Befehl an:
    $ sftp [email protected]
    The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
    ECDSA key fingerprint is SHA256:VI1OabYHoVZyVtKtDwX5HflcFpBW2txOpdBAqLtP1K8.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
    Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts.
    [email protected]'s password: 
    Connected to [email protected].
    sftp>
    
  2. Navigieren Sie zum Home-Verzeichnis des Benutzers, da dies der einzige Ort ist, an dem er Berechtigungen hat. Versuchen Sie hier, ein neues Verzeichnis zu erstellen, um zu bestätigen, dass alles wie vorgesehen funktioniert:
    sftp> cd sftpuser
    sftp> mkdir sftp-test
    sftp> ls
    sftp-test          
    sftp>
    

Über die GNOME-GUI mit dem SFTP-Server verbinden

Sie können sich auch über die GUI mit Ihrem SFTP-Server verbinden, wenn Sie dies bevorzugen. Es gibt viele Optionen für SFTP-Clients, aber die standardmäßige GNOME-GUI auf AlmaLinux bietet bereits die Möglichkeit, vom Dateimanager aus eine Verbindung zu SFTP-Servern herzustellen. So verwenden Sie es, um sich mit Ihrem SFTP-Server zu verbinden.

  1. Öffnen Sie den Dateimanager im Menü "Aktivitäten".
  2. Klicken Sie auf „Andere Standorte“ und geben Sie sftp://127.0.0.1 ein im Feld „Mit Server verbinden“ unten im Fenster und klicken Sie auf Verbinden.
  3. Stellen Sie mit dem GNOME-Dateimanager eine Verbindung zum SFTP-Server her
  4. Geben Sie die Anmeldedaten des SFTP-Kontos ein, das wir zuvor eingerichtet haben, und klicken Sie auf Verbinden.
  5. Geben Sie den SFTP-Benutzernamen und das Kennwort ein
  6. Bei erfolgreicher Verbindung können Sie Ihr Home-Verzeichnis öffnen, wo Sie Dateien hochladen und herunterladen können.
  7. Erfolgreiche Verbindung zum SFTP-Server

Abschlussgedanken

In dieser Anleitung haben wir gelernt, wie man einen FTP- oder SFTP-Server auf AlmaLinux erstellt. Wir haben auch gesehen, wie man sich über die Befehlszeile oder die GNOME-GUI mit dem FTP/SFTP-Server verbindet. Wir konnten diese Funktionalität durch VSFTPD und OpenSSH erreichen, die es uns ermöglichen, FTP bzw. SFTP zu hosten.


AlmaLinux
  1. So richten Sie NTP-Server und -Client unter Debian 9 Stretch Linux ein

  2. Wie man Samba Server und Client auf AlmaLinux einrichtet

  3. So konfigurieren Sie NTP-Server und -Client auf AlmaLinux

  4. So richten Sie einen SFTP-Server unter CentOS ein

  5. Anleitung zum Einrichten und Konfigurieren von YPServ Linux NIS Server und Client

So installieren Sie Apache, MySQL und PHP auf AlmaLinux 8

Wie man Docker Container auf AlmaLinux 8 installiert und einrichtet

So installieren Sie den FTP-Server auf AlmaLinux 8

So installieren Sie OpenVPN-Server auf AlmaLinux 8

So richten Sie NTP-Server und -Client unter Ubuntu 20.04 LTS ein

So richten Sie einen Linux-VPN-Server und -Client mit OpenVPN ein