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

So richten Sie einen FTP-Server auf Ubuntu VPS ein:Der ultimative Leitfaden

In diesem Artikel erfahren Sie, wie Sie einen FTP-Server auf einem Ubuntu VPS einrichten. Wir verwenden einen vsftpd-Server, der weithin als der schnellste und sicherste FTP-Server für UNIX-ähnliche Systeme gilt.

Was ist FTP?

FTP oder File Transfer Protocol ist ein Mittel, um Dateien zwischen Computern über eine Internetverbindung unter Verwendung des TCP/IP-Protokolls auszutauschen. Es verwendet auch ein Client-Server-Framework und SSL/TLS-Sicherheit, um eine sichere und zuverlässige Datenübertragung zu gewährleisten.

Dies ist etwas ähnlich wie HTTP (HypertText Transfer Protocol) oder SMTP (Simple Mail Transfer Protocol). Der Unterschied besteht darin, dass FTP für den Transport von Dateien über das Internet zuständig ist, während HTTP und SMTP die Übertragung von Webseiten bzw. E-Mails handhaben.

Bevor wir beginnen, denken Sie daran, dass wir Sie durch die Konfiguration eines FTP-Servers auf Ubuntu 18.04 führen werden. Daher müssen Sie sicherstellen, dass Ihr VPS auf diesem bestimmten Betriebssystem läuft.

So richten Sie einen FTP-Server auf Ubuntu ein

Für dieses Tutorial müssen Sie wissen, wie Sie über SSH eine Verbindung zu einem Server herstellen. Wenn Sie das VPS von Hostinger besitzen, sind die Anmeldedaten auf dem Server verfügbar Registerkarte des hPanels.

Schritt 1 – Installation von vsftpd

  1. Zuerst müssen wir unsere Paketaktualisierungen abrufen, bevor wir mit dem vsftpd fortfahren Installation. Führen Sie zunächst den folgenden Befehl aus:
    sudo apt-get update

    Warten Sie, bis alle Prozesse abgeschlossen sind, und Sie sehen eine Bestätigung, sobald das Update abgeschlossen ist.

  2. Wenn es fertig ist, installieren Sie den vsftpd Daemon mit dem folgenden Befehl:
    sudo apt-get install vsftpd

    Sie erhalten eine Bestätigungsmeldung, in der Sie Y eingeben müssen und drücken Sie Enter um mit der Installation fortzufahren.

  3. Nach Abschluss der Installation sollten Sie die Originaldatei sichern, damit Sie mit einer leeren Konfigurationsdatei beginnen können:
    sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original

    Jetzt können wir die Firewall konfigurieren.

Schritt 2 – FTP-Datenverkehr von der Firewall zulassen

  1. Damit der Ubuntu-FTP-Server über das Internet kommunizieren kann, muss er seinen Weg durch die Firewall finden. Aber lassen Sie uns zuerst sehen, ob die Firewall auf Ihrem Computer bereits aktiviert ist oder nicht. Führen Sie einfach diesen Befehl aus, um den Status zu überprüfen:
    sudo ufw status

    Wenn Sie die folgende Meldung sehen:

    ufw:Befehl nicht gefunden

    Dies bedeutet, dass die Firewall nicht installiert ist. Sie können es installieren und aktivieren, indem Sie Folgendes eingeben:

    sudo apt-get install ufwsudo ufw enable
  2. Wenn es bereits aktiv ist, müssen Sie trotzdem sicherstellen, dass FTP-Datenverkehr erlaubt ist. Führen Sie dazu nacheinander die folgenden Befehle aus:
    sudo ufw allow OpenSSHsudo ufw allow 20/tcpsudo ufw allow 21/tcpsudo ufw allow 990/tcpsudo ufw allow 40000:50000/tcp

    Diese Befehlsfolge öffnet mehrere Ports:

    • OpenSSH wird benötigt, wenn Sie weiterhin per SSH auf Ihren Server zugreifen möchten. Manchmal ist diese Option standardmäßig aktiviert.
    • Ports20 und 21 für den FTP-Verkehr.
    • Ports 40000:50000 wird für den Bereich der passiven Ports reserviert, die schließlich in der Konfigurationsdatei festgelegt werden.
    • Port 990 wird verwendet, wenn TLS aktiviert ist.
  3. Sehen wir uns jetzt noch einmal den Status an:
    sudo ufw status

    Die Ausgabe sollte in etwa so aussehen:

    Status:activeTo Aktion From-- ------ ----OpenSSH ALLOW Anywhere990/tcp ALLOW Anywhere20/tcp ALLOW Anywhere21/tcp ALLOW Anywhere40000:50000/tcp ALLOW AnywhereOpenSSH (v6) ALLOW Anywhere (v6)20 /tcp (v6) ERLAUBT überall (v6)21/tcp (v6) ERLAUBT überall (v6)990/tcp (v6) ERLAUBT überall (v6)40000:50000/tcp (v6) ERLAUBT überall (v6)

Schritt 3 – Erstellen des Benutzerverzeichnisses

  1. Sobald die Firewall eingerichtet ist, müssen wir den Benutzer erstellen, der den FTP-Zugang verwenden wird. So geht's:
    sudo adduser hostinger

    Denken Sie daran, den Benutzernamen nach Ihren eigenen Vorlieben zu ändern.

  2. Geben Sie dann ein Passwort für den Benutzer ein und füllen Sie alle erforderlichen Details aus.
    Idealerweise sollte FTP aus Sicherheitsgründen auf ein bestimmtes Verzeichnis beschränkt werden. Deshalbvsftpd verwendet Chroot-Jails , wodurch ein lokaler Benutzer standardmäßig auf sein Home-Verzeichnis beschränkt wird.
    Es ist jedoch möglich, dass wegen vsftpd Sicherheit, kann ein Benutzer möglicherweise nicht in dieses Verzeichnis schreiben. Um dies zu beheben, müssen wir keine Schreibrechte aus dem Home-Ordner entfernen. Stattdessen erstellen wir ein FTP-Verzeichnis, das als chroot fungiert . Es enthält ein beschreibbares Verzeichnis, das für die Speicherung der erforderlichen Dateien verantwortlich ist.
  3. Verwenden Sie den folgenden Befehl, um den FTP-Ordner zu erstellen:
    sudo mkdir /home/hostinger/ftp

    Legen Sie dann den Besitz fest mit:

    sudo chown niemand:nogroup /home/hostinger/ftp

    Entfernen Sie abschließend die Schreibberechtigung:

    sudo chmod a-w /home/hostinger/ftp

    Verwenden Sie nun den folgenden Befehl, um die Berechtigungen zu überprüfen:

    sudo ls -la /home/hostinger/ftp

    Die Ausgabe sollte in etwa so aussehen:

    insgesamt 8dr-xr-xr-x 2 niemand nogroup 4096 8. Okt 11:32 .drwxr-xr-x 3 Hoster Hoster 4096 8. Okt 11:32 ..
  4. Als Nächstes erstellen wir das Dateiverzeichnis und weisen die Eigentümerschaft zu:
    sudo mkdir /home/hostinger/ftp/filessudo chown hostinger:hostinger /home/hostinger/ftp/files

    Schließlich fügen Sie dem Verzeichnis eine Testdatei hinzu, die verwendet wird, wenn wir später alles testen:

    echo "vsftpd-Beispieldatei" | sudo tee /home/hostinger/ftp/files/sample.txt

Schritt 4 – vsftpd konfigurieren

Als nächstes konfigurieren wir vsftpd und unseren FTP-Zugang. In diesem Beispiel erlauben wir einem einzelnen Benutzer, sich über ein lokales Shell-Konto zu verbinden. Die beiden dafür notwendigen Schlüsselkonfigurationen sind bereits in der Konfiguration (vsftpd.conf ) Datei.

  1. Verwenden Sie zunächst den nano-Befehl, um vsftpd zu öffnen Konfigurationsdatei.
    sudo nano /etc/vsftpd.conf

    Stellen Sie sicher, dass der Inhalt ähnliche Einstellungen wie diese hat:

    . . .# Anonymes FTP zulassen? (Standardmäßig deaktiviert).anonymous_enable=NO## Kommentieren Sie dies aus, damit sich lokale Benutzer anmelden können.local_enable=YES. . .

    In derselben Datei entfernen wir # (auskommentieren) und stellen Sie sicher, dass wir write_enable aktivieren .

    . . .write_enable=JA. . .
  2. Sie müssen auch chroot auskommentieren um sicherzustellen, dass der FTP-Benutzer nur auf Dateien innerhalb des zulässigen Verzeichnisses zugreift. Ändern Sie das NEIN Wert auf JA , auch. Denken Sie daran, dass es zwei solcher Zeilen gibt und Sie beide auskommentieren müssen.
    . . .chroot_local_user=JA. . .
  3. Es gibt ein paar neue Werte, die Sie auch am Ende der Datei hinzufügen sollten. Das erste ist user_sub_token im local_root-Verzeichnispfad . Dadurch kann die Konfiguration mit dem aktuellen Benutzer oder allen anderen Benutzern, die später hinzugefügt werden, funktionieren:
    user_sub_token=$USERlocal_root=/home/$USER/ftp
  4. Um sicherzustellen, dass eine beträchtliche Anzahl von Verbindungen verfügbar ist, begrenzen wir die Anzahl der Ports in der Konfigurationsdatei:
    pasv_min_port=40000pasv_max_port=50000
  5. In diesem Tutorial beabsichtigen wir, den Zugriff von Fall zu Fall zuzulassen. Daher stellen wir die Konfiguration so ein, dass nur Benutzern Zugriff gewährt wird, die Sie explizit zur Liste hinzugefügt haben:
    userlist_enable=YESuserlist_file=/etc/vsftpd.userlistuserlist_deny=NO

    Wenn Sie das Flag userlist_deny setzen auf NEIN , wird nur bestimmten Benutzern der Zugriff gewährt. Klicken Sie anschließend auf STRG+X gefolgt vonY um es zu speichern, dann Enter um die Dateiänderungen zu bestätigen.

  6. Zuletzt erstellen wir eine Benutzerliste und fügen der Datei einen Benutzer hinzu:
    echo "hostinger" | sudo tee -a /etc/vsftpd.userlist

    Überprüfen Sie, ob der Benutzer tatsächlich aktiv ist, indem Sie den folgenden Befehl ausführen:

    cat /etc/vsftpd.userlist

    Die Ausgabe sollte „hostinger“ lauten, wie in diesem Screenshot gezeigt:

  7. Starten Sie den Daemon mit dem folgenden Befehl neu, um die Konfigurationsänderungen zu laden:
    sudo systemctl restart vsftpd

Schritt 5 – FTP sicher machen

  1. Standardmäßig verschlüsselt FTP keine Daten, daher verwenden wir SSL/TLS Zertifikat zur sicheren Datenübertragung. Der erste Schritt ist, dass wir das SSL-Zertifikat für den Ubuntu-FTP-Server erstellen müssen. etc/ssl/private/vsftpd.pem

    Die –Tage Flag macht das Zertifikat für ein Jahr gültig und wir haben ein 2048-Bit hinzugefügt private RSA Geben Sie denselben Befehl ein.

  2. Geben Sie nach Aufforderung die entsprechenden persönlichen Daten in das dafür vorgesehene Feld ein.
  3. Nachdem Sie das Zertifikat erstellt haben, öffnen Sie die Konfigurationsdatei erneut:
    sudo nano /etc/vsftpd.conf

    Das Ende der Datei sollte zwei Zeilen enthalten, die mit rsa beginnen .

    # rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem# rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

    Jetzt verweisen wir die Konfigurationsdatei auf das Zertifikat, das wir gerade erstellt haben. Fügen Sie die folgenden Verzeichnisse direkt unter den vorherigen Zeilen hinzu:

    rsa_cert_file=/etc/ssl/private/vsftpd.pemrsa_private_key_file=/etc/ssl/private/vsftpd.pem
  4. Als Nächstes aktivieren wir SSL und stellen sicher, dass nur Clients mit aktivem SSL uns kontaktieren können. Geben Sie einfach diese Zeile ein:
    ssl_enable=YES

    Fügen Sie dann die folgenden Zeilen hinzu, um alle anonymen Verbindungen über SSL zu verbieten:

    allow_anon_ssl=NOforce_local_data_ssl=YESforce_local_logins_ssl=YES

    Konfigurieren Sie den Server für die Verwendung von TLS mit:

    ssl_tlsv1=JAssl_sslv2=NEINssl_sslv3=NEIN
  5. Jetzt werden wir zwei weitere Optionen ändern. Deaktivieren Sie zunächst die SSL-Wiederverwendung um zu verhindern, dass FTP-Clients zusammenbrechen. Zweitens werden wir Cipher Suites mit hoher Verschlüsselung verwenden, die sicherstellen, dass die Schlüssellängen entweder gleich oder größer als 128 Bit sind.
    require_ssl_reuse=NOssl_ciphers=HIGH

    Speichern Sie die Datei erneut, indem Sie STRG+X drücken gefolgt von Y , und drücken Sie dann Enter .

  6. Starten wir vsftpd neu noch einmal, um die neuen Konfigurationen zu übernehmen:
    sudo systemctl restart vsftpd

Gute Arbeit! Sie haben jetzt den FTP-Server auf Ihrem Ubuntu-VPS so konfiguriert, dass er mit dem SSL/TLS-Protokoll arbeitet.

Schritt 6 – Verbindung mit FileZilla testen

Heutzutage unterstützen die meisten FTP-Clients TLS-Verschlüsselungskonfigurationen. Es ist eine großartige Möglichkeit, um zu testen, ob Ihr Ubuntu-FTP-Server ordnungsgemäß funktioniert. Um die Verbindung zu testen, verwenden wir einen FileZilla FTP-Client.

  1. Starten Sie zunächst FileZilla und klicken Sie auf den Site-Manager Symbol. Klicken Sie dann auf Neue Website Schaltfläche im angezeigten Fenster, um die Details des Ubuntu-FTP-Servers einzugeben.
  2. Füllen Sie alle erforderlichen Spalten mit Ihren neu erstellten Ubuntu-FTP-Serverinformationen aus. Da wir es für die Verwendung von TLS konfiguriert haben, können wir auch die Option Explizites FTP über TLS verwenden auswählen Möglichkeit. Die endgültige Konfiguration sollte wie folgt aussehen:
  3. Sobald Sie fertig sind, klicken Sie auf Verbinden, und ein Bildschirm mit der Aufforderung, das Passwort des FTP-Benutzers einzugeben, wird angezeigt. Klicken Sie danach auf OK .
  4. Schließlich müssen Sie das SSL-Zertifikat Ihres FTP-Servers auf Ubuntu VPS verifizieren. Nach der Bestätigung sollte nun das Stammverzeichnis mit der Testdatei auf Ihrem Bildschirm erscheinen.

Das ist alles! Jetzt können Sie verschiedene Dateiübertragungen von Ihrem Computer zum Ubuntu-FTP-Server und umgekehrt durchführen.

Fazit

Ein Ubuntu-FTP-Server macht es Ihnen leicht, Dateien zwischen Ihrem Ubuntu-VPS/Server und Computer auszutauschen. Dank der SSL/TLS-Sicherheit und des TCP/IP-Protokolls ist es eine sichere und zuverlässige Methode der Datenübertragung.

In diesem Tutorial haben Sie gelernt, wie Sie einen FTP-Server unter Ubuntu 18.04 mit vsftpd einrichten. Es gibt fünf Schritte, die Sie befolgen sollten. Sehen wir sie uns noch einmal an.

  1. Installieren Sievsftpd auf Ihrem Ubuntu-Server und sichern Sie die ursprüngliche Konfigurationsdatei.
  2. FTP-Verbindungen durch die Firewall zulassen.
  3. Ein Benutzerverzeichnis erstellen, auf das nur bestimmte Benutzer zugreifen können.
  4. Konfigurieren Sie vsftpd .
  5. Sichern Sie den FTP-Server.
  6. Testen Sie Ihre FTP-Verbindung mit FileZilla.

Viel Glück und sehen Sie sich auch unsere anderen VPS-Tutorials an!


Ubuntu
  1. So richten Sie einen FTP-Server auf Ihrem Raspberry Pi ein

  2. So richten Sie WireGuard VPN auf Ubuntu ein (eine Schritt-für-Schritt-Anleitung)

  3. So erlauben Sie dem Benutzer, sudo in Ubuntu Linux zu verwenden

  4. So installieren Sie Ansible auf Ubuntu Server 21.04

  5. So installieren Sie den FTP-Server unter Ubuntu 20.04

So richten Sie den Shadowsocks-libev-Proxyserver unter Ubuntu ein

So installieren und konfigurieren Sie den VSFTPD-FTP-Server unter Ubuntu

So installieren Sie den FTP-Server unter Ubuntu 20.04 LTS

Wie richte ich einen Apt-Cacher-Server ein?

Wie richte ich ein Pptp-Vpn auf dem eigenen Ubuntu-Server ein?

So richten Sie einen FTP-Server mit ProFTPD in Ubuntu 18.04 ein