GNU/Linux >> LINUX-Kenntnisse >  >> OpenSuse

So richten Sie einen SFTP-Server auf OpenSUSE Leap 15.3 Server ein

Das File Transfer Protocol ist ein Standardkommunikationsprotokoll, das für die Übertragung von Computerdateien von einem Server zu einem Client in einem Computernetzwerk verwendet wird.

FTP ist heute nicht beliebt, weil es an Sicherheit mangelt. Wenn eine Datei mit diesem Protokoll gesendet wird, werden die Daten, der Benutzername und das Passwort im Klartext geteilt, was bedeutet, dass ein Hacker mit wenig bis gar keinem Aufwand auf diese Informationen zugreifen kann. Damit die Daten sicher sind, müssen Sie eine aktualisierte FTP-Version wie SFTP verwenden.

SFTP Secure File Transfer Protocol ist ein Dateiübertragungsprotokoll, das sicheren Zugriff auf einen Remote-Computer bietet, um sichere Kommunikation bereitzustellen. Es nutzt SSH – Secure Socket Shell und wird häufig auch als „Secure Shell File Transfer Protocol“ bezeichnet.

Verwandte Inhalte

  • Arbeiten mit dem SFTP-Client unter Linux – 10 sftp-Befehle
  • So richten Sie einen SFTP-Server auf Debian 11 Server ein
  • Dateien vom SFTP-Server mit einem Python-Skript herunterladen
  • Auflisten, Hochladen und Herunterladen von Dateien von einem SFTP-Server mit Golang
  • So installieren und konfigurieren Sie den sftp-Server in Ubuntu 20.04
  • So richten Sie einen SFTP-Server auf OpenSUSE Leap 15.3 Server ein
  • So richten Sie einen SFTP-Server auf CentOS 8 /RHEL 8 Server ein

Voraussetzungen

Um dieser Anleitung zu folgen, stellen Sie sicher, dass Sie über Folgendes verfügen:

  1. OpenSUSE Leap 15.3-Server
  2. Root-Zugriff auf den Server oder ein Benutzer mit Root-Zugriff
  3. Internetzugang vom Server

Inhaltsverzeichnis

  1. Sicherstellen, dass der Server auf dem neuesten Stand ist
  2. Sicherstellen, dass der SSH-Dienst installiert ist
  3. Erstellen von Benutzern und Gruppen und Hinzufügen der erforderlichen Verzeichnisse
  4. SSH-Dienst konfigurieren
  5. Überprüfen, ob die Einrichtung wie erwartet funktioniert

1. Sicherstellen, dass der Server auf dem neuesten Stand ist

Bevor Sie fortfahren, stellen Sie sicher, dass Ihr System auf dem neuesten Stand ist. Verwenden Sie diesen Befehl, um die Systempakete zu aktualisieren und zu aktualisieren.

sudo zypper ref
sudo zypper update -y

2. Sicherstellen, dass der SSH-Dienst installiert ist

Stellen Sie sicher, dass ssh installiert ist und ausgeführt wird:

~> sudo zypper install openssh-server
Loading repository data...
Reading installed packages...
'openssh-server' is already installed.
No update candidate for 'openssh-server-8.4p1-3.3.1.x86_64'. The highest available version is already installed.
Resolving package dependencies...
Nothing to do.

Nachdem es installiert ist, starten Sie den Dienst

sudo systemctl start sshd

Bestätigen Sie seinen Status

~> sudo systemctl status sshd
● sshd.service - OpenSSH Daemon
     Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2021-12-03 10:19:26 UTC; 29min ago
   Main PID: 1419 (sshd)
      Tasks: 1
     CGroup: /system.slice/sshd.service
             └─1419 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

Dec 03 10:19:26 ip-10-2-40-46 sshd[1419]: Server listening on 0.0.0.0 port 22.
Dec 03 10:19:26 ip-10-2-40-46 sshd[1419]: Server listening on :: port 22.
Dec 03 10:19:26 ip-10-2-40-46 systemd[1]: Started OpenSSH Daemon.
Dec 03 10:21:13 ip-10-2-40-46 sshd[1507]: Received disconnect from 92.255.85.37 port 43914:11: Bye Bye [preauth]
Dec 03 10:21:13 ip-10-2-40-46 sshd[1507]: Disconnected from authenticating user root 92.255.85.37 port 43914 [preauth]
Dec 03 10:33:40 ip-10-2-40-46 sshd[1977]: Accepted publickey for ec2-user from 105.231.31.248 port 60453 ssh2: RSA SHA256:nDQ1FM>
Dec 03 10:33:40 ip-10-2-40-46 sshd[1977]: pam_unix(sshd:session): session opened for user ec2-user by (uid=0)
Dec 03 10:36:49 ip-10-2-40-46 sshd[2203]: Invalid user huawei from 92.255.85.37 port 36540
Dec 03 10:36:49 ip-10-2-40-46 sshd[2203]: Received disconnect from 92.255.85.37 port 36540:11: Bye Bye [preauth]
Dec 03 10:36:49 ip-10-2-40-46 sshd[2203]: Disconnected from invalid user huawei 92.255.85.37 port 36540 [preauth]

3. Erstellen von Benutzern und Gruppen und Hinzufügen der erforderlichen Verzeichnisse

Als nächstes werden wir sicherstellen, dass die erforderlichen Benutzer im System vorhanden sind. In meinem Fall möchte ich die sftp-Benutzer zu Hause als /srv/sftp haben

Lassen Sie uns das Zuhause /srv/sftp erstellen mit diesem Befehl:

sudo mkdir /srv/sftp

Dann lassen Sie uns eine Dachgruppe nur für SFTP erstellen

sudo groupadd sftpusers

Erstellen Sie dann einen reinen sftp-Benutzer namens citizix:

sudo useradd -G sftpusers -d /srv/sftp/citizix -s /sbin/nologin citizix

Die obigen Optionen bewirken Folgendes:

  • -G sftpusers :Benutzer erstellen, an sftpusers anhängen Gruppe
  • -d /srv/sftp/citizix :Legen Sie das Home-Verzeichnis als /srv/sftp/citizix fest
  • -s /sbin/nologin :Wir wollen nicht, dass sich der Benutzer anmeldet, also keine SSH-Anmelde-Shell
  • Zu guter Letzt der Nutzername als citizix

Fügen Sie dann mit diesem Befehl ein Passwort zum erstellten Benutzer hinzu:

$ sudo passwd citizix
Changing password for user citizix.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

3. SSH-Dienst konfigurieren

Nachdem wir nun die notwendige Software installiert und die Benutzer und Gruppen erstellt haben, lassen Sie uns ssh konfigurieren.

Stellen Sie sicher, dass die Kennwortauthentifizierung für ssh aktiviert ist. Bearbeiten Sie die Konfigurationsdatei hier /etc/ssh/sshd_config :

sudo vim /etc/ssh/sshd_config

Stellen Sie dann sicher, dass diese Zeile nicht kommentiert ist:

PasswordAuthentication yes

Als Nächstes müssen wir Regeln für die Benutzer in den sftpusers hinzufügen Gruppe als sftp betrachtet werden. Bearbeiten Sie die Konfigurationsdatei:

sudo vim /etc/ssh/sshd_config

Fügen Sie diesen Inhalt am Ende der Datei hinzu:

Match Group sftpusers  
    X11Forwarding no  
    AllowTcpForwarding no  
    ChrootDirectory /srv/sftp
    ForceCommand internal-sftp

Starten Sie dann sshd neu, um die Konfiguration neu zu laden:

sudo systemctl restart sshd

Prüfen Sie, ob sshd läuft wie erwartet:

~> sudo systemctl status sshd
● sshd.service - OpenSSH Daemon
     Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2021-12-03 11:22:18 UTC; 5min ago
    Process: 15765 ExecStartPre=/usr/sbin/sshd-gen-keys-start (code=exited, status=0/SUCCESS)
    Process: 15770 ExecStartPre=/usr/sbin/sshd -t $SSHD_OPTS (code=exited, status=0/SUCCESS)
   Main PID: 15780 (sshd)
      Tasks: 1
     CGroup: /system.slice/sshd.service
             └─15780 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

Dec 03 11:22:18 ip-10-2-40-46 systemd[1]: Starting OpenSSH Daemon...
Dec 03 11:22:18 ip-10-2-40-46 sshd-gen-keys-start[15765]: Checking for missing server keys in /etc/ssh
Dec 03 11:22:18 ip-10-2-40-46 sshd[15780]: Server listening on 0.0.0.0 port 22.
Dec 03 11:22:18 ip-10-2-40-46 sshd[15780]: Server listening on :: port 22.
Dec 03 11:22:18 ip-10-2-40-46 systemd[1]: Started OpenSSH Daemon.

4. Prüfen, ob die Einrichtung wie erwartet funktioniert

Nachdem Sie den Benutzer erfolgreich erstellt und sftp-Konfigurationen hinzugefügt haben, testen Sie die Einrichtung mit dem Befehl:

❯ sftp [email protected]
[email protected]'s password:
Connected to 52.24.157.181.
sftp>

Jetzt haben wir den sftp-Server eingerichtet und laufen mit einem konfigurierten Benutzer!

Die Benutzer können sich beim Server anmelden und auf Dateien und Verzeichnisse zugreifen, die sich in ihrem Home-Verzeichnis befinden. Wenn Sie dem Benutzer andere Verzeichnisse außerhalb seines eigenen Verzeichnisses zuweisen möchten, stellen Sie einfach sicher, dass der Benutzer über ausreichende Zugriffsrechte verfügt. Diese Verzeichnisse und Dateien müssen sich im sftp-Verzeichnis befinden – /srv/sftp .

Beispiel:Wenn ich möchte, dass der Benutzer auf das Verzeichnis /srv/sftp/paymentfiles zugreift , gehen Sie wie folgt vor:

Erstellen Sie das Verzeichnis

sudo mkdir /srv/sftp/paymentfiles

Weisen Sie dann den Benutzer (citizix ) zugreifen, indem Sie sie zum Eigentümer des Verzeichnisses machen:

sudo chown citizix:sftpusers /srv/sftp/paymentfiles

Das ist es. Benutzer sollten jetzt Zugriff haben.

Schlussfolgerung

In diesem Handbuch haben wir es geschafft, einen sftp-Server in einem OpenSUSE Leap 15.3 einzurichten.


OpenSuse
  1. So installieren und richten Sie einen sftp-Server in Ubuntu 20.04 ein

  2. So installieren Sie Mongodb 5 in Opensuse Leap 15.3

  3. So installieren Sie Mysql Server 8 auf OpenSUSE Leap 15.3

  4. So installieren und konfigurieren Sie Redis 6 unter OpenSUSE Leap 15.3

  5. So installieren Sie Java 17 in OpenSUSE Leap 15.3

So installieren Sie einen OpenSUSE Leap 42.1 KDE-Desktop

So installieren Sie Skype auf openSUSE Leap

So aktivieren Sie SSH auf openSUSE

So installieren Sie TeamViewer 12 auf openSUSE Leap 42.2

So installieren Sie Dropbox auf openSUSE Leap 42.2

So installieren Sie RabbitMQ in OpenSUSE Leap 15.3