Wie richte ich einen FTP-Server und einen FTP-Benutzer auf meiner Lightsail-Instance ein?

Letzte Aktualisierung: 05.10.2021

Ich möchte einen FTP-Server und FTP-Benutzer auf meiner Lightsail-Instance einrichten, auf der Amazon Linux 2, CentOS, Ubuntu oder Debian ausgeführt wird. Wie kann ich vorgehen?

Auflösung

1.    Führen Sie den folgenden Befehl aus, um das VSFTPD-Paket zu installieren:

Amazon Linux 2 und CentOS

sudo yum install vsftpd -y

Ubuntu und Debian

sudo apt install vsftpd -y

2.    Bearbeiten Sie die Datei vsftpd.config, um die für Ihre Umgebung benötigten Variablen zu ändern.

Der Speicherort der Datei vsftpd.config variiert je nach Betriebssystem:

  • Amazon Linux 2 und CentOS: /etc/vsftpd/vfstpd.conf
  • Debian und Ubuntu: /etc/vsftpd.conf

Ändern Sie die Variablen im folgenden Beispiel nach Bedarf für Ihre Umgebung:

anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=NO
xferlog_std_format=YES
chroot_local_user=YES
allow_writeable_chroot=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
listen_port=10021
pasv_enable=YES
pasv_min_port=21000
pasv_max_port=21999
pasv_addr_resolve=NO

Hinweis: Port 21 ist der Standardport für FTP. Sie können Port 21 verwenden. Im vorangegangenen Beispiel ist der benutzerdefinierte Port 10021 jedoch aus Sicherheitsgründen der Port für FTP. Um den Port anzupassen, ändern Sie den listen_port auf den Port, den Sie verwenden möchten, und setzen Sie connect_from_port_20 auf NO. Stellen Sie sicher, dass Sie die Ports, die Sie für FTP verwenden möchten, auf Ihrer Instance-Firewall aktivieren. Für das vorangegangene Beispiel sind die Ports 10021 und 21000-21999 auf der benutzerdefinierten und Lightsail-Firewall aktiviert.

3.    Führen Sie den folgenden Befehl aus, um den FTP-Benutzer hinzuzufügen:

sudo adduser --home /home/ftp_user ftp_user

Hinweis: Ersetzen Sie im vorangegangenen Beispiel ftp_user durch einen Benutzernamen Ihrer Wahl.

4.    Führen Sie den folgenden Befehl aus, um ein Passwort für den Benutzer zu erstellen:

sudo passwd ftp_user

5.    Führen Sie den folgenden Befehl aus, um den Besitz der Datei /home/ftp_user zu ändern. Dieser Befehl macht ftp_user zum Dateibesitzer.

sudo chown ftp_user:ftp_user -R /home/ftp_user/

6.    Führen Sie den folgenden Befehl aus, um den neuen Benutzer zur vsftpd user_list hinzuzufügen. Verwenden Sie das Kennzeichen -a zum Anhängen an die Datei.

Amazon Linux 2 und CentOS

sudo echo "ftp_user" | sudo tee -a /etc/vsftpd/user_list

Debian und Ubuntu

Führen Sie den folgenden Befehl aus, um die Benutzerlistendatei zu erstellen und den neuen Benutzer zur Datei hinzuzufügen:

sudo echo "ftp_user" | sudo tee -a /etc/vsftpd.userlist

7.    Starten Sie den vsftpd-Service neu:

sudo systemctl restart vsftpd

8.    Verbinden Sie sich mit dem FTP-Server. Das folgende Beispiel verwendet Filezilla einfaches FTP.

Status:    Connecting to 54.xxx.xxx.x2:10021...
Status:    Connection established, waiting for welcome message...
Status:    Plain FTP is insecure. Please switch to FTP over TLS.
Status:    Logged in
Status:    Retrieving directory listing...
Status:    Server sent passive reply with unroutable address. Using server address instead.
Status:    Calculating timezone offset of server...
Status:    Timezone offset of server is 0 seconds.
Status:    Directory listing of "/" successful
Status:    Connecting to 54.xxx.1xx.52:10021...
Status:    Connection established, waiting for welcome message...
Status:    Plain FTP is insecure. Please switch to FTP over TLS.
Status:    Logged in
Status:    Starting upload of C:\Users\Administrator\Documents\FTPtest.txt
Status:    Server sent passive reply with unroutable address. Using server address instead.
Status:    File transfer successful, transferred 10 bytes in 1 second
Status:    Retrieving directory listing of "/"...
Status:    Server sent passive reply with unroutable address. Using server address instead.
Status:    Directory listing of "/" successful

Fehlerbehebung beim FTP-Server-Setup

Falsche Optionen in der Datei vsftpd.conf können dazu führen, dass der vsftpd-Service ausfällt. Wenn Sie es nicht starten können, führen Sie den folgenden Befehl aus, um herauszufinden, welche Optionen nicht richtig konfiguriert sind:

Amazon Linux 2 und CentOS

sudo /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

Debian und Ubuntu

sudo /usr/sbin/vsftpd /etc/vsftpd.conf

War dieser Artikel hilfreich?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?