GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So richten Sie einen FTP-Server in Ubuntu Linux ein und verwenden ihn

FTP steht für „File Transfer Protocol“ und ist ein großartiges Protokoll zum Herunterladen von Dateien von einem entfernten oder lokalen Server oder zum Hochladen von Dateien auf den Server. Die Verwendung von FTP erweist sich als eine ziemlich einfache Aufgabe, nachdem es richtig eingerichtet wurde. Es funktioniert mit einem Server, der auf Verbindungen (standardmäßig auf Port 21) von Clients wartet. Die Clients können mit ihrem Benutzerkonto auf ein Remote-Verzeichnis zugreifen und dort Dateien herunterladen oder hochladen, je nachdem, welche Berechtigungen ihnen erteilt wurden. Es ist auch möglich, eine anonyme Autorisierung zu konfigurieren, was bedeutet, dass Benutzer kein eigenes Konto benötigen, um sich mit dem FTP-Server zu verbinden.

Unter Ubuntu Linux ist eine Vielzahl verschiedener FTP-Server- und Client-Softwarepakete verfügbar. Sie können sogar standardmäßige GUI- und Befehlszeilentools als FTP-Client verwenden. Ein sehr beliebtes und hochgradig konfigurierbares FTP-Serverpaket ist vsftpd, das für viele Linux-Systeme verfügbar ist, einschließlich Ubuntu.

In diesem Handbuch werden wir die Schritt-für-Schritt-Anleitung zur Installation von vsftpd auf Ubuntu durchgehen. Wir werden auch sehen, wie Sie den FTP-Server über verschiedene Einstellungen konfigurieren und dann die Befehlszeile, die GNOME-GUI oder die FTP-Client-Software verwenden, um eine Verbindung zum FTP-Server herzustellen.

WARNUNG
FTP reicht für einige Situationen aus, aber für Verbindungen über das Internet wird SFTP empfohlen. Dies liegt daran, dass FTP über eine Internetverbindung nicht sicher verwendet werden kann, 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. Weitere Informationen zu SFTP finden Sie in unserem Leitfaden zur sicheren Übertragung von Dateien mit SFTP.

In diesem Tutorial lernen Sie:

  • Wie man vsftpd unter Ubuntu installiert und konfiguriert
  • So richten Sie ein FTP-Benutzerkonto ein
  • Wie man sich über die Befehlszeile mit dem FTP-Server verbindet
  • So verbinden Sie sich mit dem FTP-Server über die GUI
  • Anonyme FTP-Anmeldung konfigurieren
  • So ändern Sie den Standard-FTP-Listening-Port
  • Fehlerbehebung beim FTP-Verbindungsfehler „Verbindung abgelehnt“

Verbindung zum FTP-Server unter Ubuntu Linux

Softwareanforderungen und Linux-Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder verwendete Softwareversion
System Ubuntu-Linux
Software vsftpd
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

vsftpd-Installation

Installieren Sie vsftpd auf Ihrem Ubuntu-System, indem Sie diesen Befehl in das Terminal eingeben:

$ sudo apt install vsftpd

vsftpd-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.conf /etc/vsftpd.conf_orig
    
  2. Erstellen Sie eine neue vsftpd-Konfigurationsdatei mit nano oder einem anderen Texteditor Ihrer Wahl:
    $ sudo nano /etc/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:
    listen=NO
    listen_ipv6=YES
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    use_localtime=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    chroot_local_user=YES
    secure_chroot_dir=/var/run/vsftpd/empty
    pam_service_name=vsftpd
    rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
    ssl_enable=NO
    pasv_enable=Yes
    pasv_min_port=10000
    pasv_max_port=10100
    allow_writeable_chroot=YES

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

  4. vsftpd-Konfigurationsdatei

  5. Die eingebaute Firewall von Ubuntu blockiert standardmäßig den FTP-Datenverkehr, aber der folgende Befehl erstellt eine Ausnahme in UFW, um den Datenverkehr zuzulassen:
    $ sudo ufw allow from any to any port 20,21,10000:10100 proto tcp
    
  6. 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 im Home-Verzeichnis von ftpuser speichern. 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

Sie sollten sich jetzt entweder über die IP-Adresse oder den Hostnamen mit Ihrem FTP-Server verbinden können. Stellen Sie zunächst sicher, dass das standardmäßige FTP-Client-Dienstprogramm auf Ihrem System installiert ist, indem Sie den folgenden Befehl ausführen. Es wird entweder die Software installieren oder Ihnen mitteilen, dass sie bereits auf dem System vorhanden ist.

$ sudo apt install ftp

Um von der Befehlszeile aus eine Verbindung herzustellen und zu überprüfen, ob alles funktioniert, öffnen Sie ein Terminal und verwenden Sie den FTP-Befehl von Ubuntu, um eine Verbindung zu Ihrer Loopback-Adresse (127.0.0.1) herzustellen.

$ ftp 127.0.0.1

Verbindung zum FTP-Server über die Befehlszeile

Wie Sie im obigen Screenshot sehen können, konnten wir uns beim FTP-Server anmelden, indem wir den Benutzernamen und das Passwort angeben, die wir zuvor konfiguriert haben. Als nächstes versuchen wir, ein ls auszugeben Befehl, der die Testdatei auflisten sollte, die wir in den vorherigen Schritten erstellt haben.

ftp> ls

Auflisten unserer Testdatei, um sicherzustellen, dass wir Inhalte des FTP-Servers anzeigen können

Ihre Ausgabe sollte wie im obigen Screenshot 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 Ubuntu 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 über das Menü "Aktivitäten" oder die Schnellstartleiste.
  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. Verbindung zum FTP-Server über den GNOME-Dateimanager

  4. Wählen Sie „registrierter Benutzer“ und geben Sie dann die Anmeldedaten des FTP-Kontos ein, das wir zuvor eingerichtet haben, und klicken Sie auf „Verbinden“.
  5. Eingabe unserer FTP-Benutzerdaten

  6. Bei erfolgreicher Verbindung sehen Sie die zuvor erstellte Testdatei. Sie können diese Datei jetzt herunterladen und anzeigen oder Ihre eigenen Inhalte in das Verzeichnis hochladen.
  7. Erfolgreiche Verbindung zum FTP-Server, zeigt unsere Testdatei

Anonymen Zugriff in vsftpd zulassen

Bisher haben wir gesehen, wie man neue Benutzer erstellt, die auf den FTP-Server zugreifen können. Wenn Sie möchten, dass andere auf Ihren FTP-Server zugreifen können, ohne einen Benutzernamen und ein Passwort anzugeben, können Sie eine anonyme Authentifizierung konfigurieren. Befolgen Sie die nachstehenden Schritte, um es einzurichten.

  1. Zuerst müssen wir die /etc/vsftpd.conf bearbeiten Datei, öffnen Sie sie also mit nano oder einem anderen Texteditor.
    $ sudo nano /etc/vsftpd.conf
    
  2. Suchen Sie als Nächstes nach anonymous_enable=NO Zeile und ändern Sie die Einstellung auf YES .
    anonymous_enable=YES
    
  3. Wenn Sie fertig sind, verlassen Sie diese Datei, während Sie die neuen Änderungen speichern, und starten Sie dann den vsftpd-Dienst neu, damit die Änderungen wirksam werden.
    $ sudo systemctl restart vsftpd
    
  4. Um die anonyme Anmeldung zu testen, geben Sie ftp 127.0.0.1 aus verwenden Sie anonymous als Ihren Benutzernamen und ein leeres Passwort. Sie sollten 230 Login successful erhalten Nachricht, wie im Screenshot unten gezeigt.
  5. Anmelden am FTP-Server mit anonymem

Standard-FTP-Portnummer ändern

Standardmäßig überwacht das FTP-Protokoll Port 21 für die Benutzerauthentifizierung und Port 20 für die Datenübertragung. Wir können dieses Verhalten jedoch ändern, indem wir eine kleine Änderung an /etc/vsftpd.conf vornehmen Datei. Verwenden Sie am Ende der Datei den listen_port Direktive, um einen anderen Port anzugeben, den vsftpd verwenden soll. Wenn Sie beispielsweise die folgende Zeile hinzufügen, wird vsftpd angewiesen, auf Port 2121 zu lauschen:

listen_port=2121

Abschlussgedanken

In diesem Handbuch haben wir gesehen, wie Sie mit dem vsftpd-Softwarepaket einen FTP-Server unter Ubuntu Linux erstellen. Wir haben auch gelernt, wie man die Befehlszeile oder die GNOME-GUI als FTP-Client verwendet, um sich mit dem Server zu verbinden. Wenn Sie dieser Anleitung folgen, können Computer in Ihrem lokalen Netzwerk auf Ihr System zugreifen, um Dateien entweder über die Befehlszeile oder ihren bevorzugten FTP-Client zu speichern und abzurufen.

Fehlerbehebung

Der häufigste Fehler, den Sie möglicherweise erhalten, ist die Meldung „Verbindung abgelehnt“, wenn Sie versuchen, eine Verbindung zum Server herzustellen. Dies kann verschiedene Gründe haben, wird jedoch häufig mit einer Firewall in Verbindung gebracht, die die Verbindung blockiert, oder mit einer falsch konfigurierten vstpd-Datei. Stellen Sie sicher, dass der FTP-Port nicht von Ihrer Firewall blockiert wird, indem Sie diesen Befehl ausführen:

$ sudo ufw allow from any to any port 20,21,10000:10100 proto tcp

Überprüfen Sie auch den Status des vsftpd-Dienstes, um sicherzustellen, dass er ausgeführt wird und keine Startfehler aufgetreten sind.

$ systemctl status vsftpd

Überprüfung des Status des vsftpd-Dienstes

Verwenden Sie die folgenden Befehle, um vsftpd zu starten oder den Dienst nach dem Anwenden von Konfigurationsänderungen neu zu starten.

$ sudo systemctl start vsftpd
OR
$ sudo systemctl restart vsftpd

Denken Sie schließlich daran, dass ein Router oder eine externe Firewall auch für das Blockieren Ihrer Verbindung verantwortlich sein könnte. Wenn Sie sich mit ftp 127.0.0.1 erfolgreich mit Ihrem FTP-Server verbinden können auf dem Server selbst ausführen und die obigen Schritte zur Fehlerbehebung befolgt haben, aber keine Verbindung zum FTP-Server von einem Remote-System herstellen können, dann befindet sich wahrscheinlich ein Gerät zwischen den beiden Systemen, das die Verbindung blockiert.


Ubuntu
  1. So installieren und verwenden Sie Hubot unter Ubuntu Linux

  2. So richten Sie einen FTP-Server unter Ubuntu 20.04 Focal Fossa Linux ein

  3. So richten Sie einen FTP-Server mit VSFTPD unter Ubuntu 20.04 ein

  4. So installieren und verwenden Sie Telnet unter Ubuntu 20.04 LTS

  5. So installieren und konfigurieren Sie den universellen Medienserver in Ubuntu 20.04

So installieren und verwenden Sie WinSCP unter Ubuntu 20.04 Linux

So richten Sie Google Drive unter Ubuntu 20.04 ein und verwenden es

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

Was ist PPA in Ubuntu Linux und wie verwende ich sie?

So konfigurieren und verwenden Sie die Netzwerkbrücke in Ubuntu Linux

So installieren und verwenden Sie ClamAV Antivirus unter Ubuntu Linux