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

So erstellen Sie einen SFTP-Benutzer ohne Shell-Zugriff unter CentOS 8

SFTP steht für „SSH File Transfer Protocol“. SFTP ist ein Dateiübertragungsprotokoll, das zum Übertragen von Dateien zwischen zwei Servern verwendet wird. Standardmäßig erlaubt Ihnen SFTP, Dateien auf alle Server zu übertragen, auf denen der SSH-Zugriff aktiviert ist. Es gewährt jedoch allen Benutzern Zugriff auf das Terminal, was aus Sicherheitsgründen nicht empfohlen wird.

In diesem Tutorial erfahren wir, wie Sie einen SFTP-Benutzer ohne Shell-Zugriff erstellen, sodass der Benutzer nur SFTP-Zugriff und keinen SSH-Zugriff hat.

Voraussetzungen

  • Ein frischer CentOS 8 VPS auf der Atlantic.net Cloud Platform.
  • Ein auf Ihrem Server konfiguriertes Root-Passwort.

Schritt 1 – Atlantic.Net Cloud-Server erstellen

Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie CentOS 8 als Betriebssystem mit mindestens 1 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.

Sobald Sie sich bei Ihrem CentOS 8-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.

dnf update -y

Schritt 2 – Erstellen Sie einen SFTP-Benutzer

Zuerst müssen Sie einen neuen Benutzer erstellen, der nur Zugriff auf die Dateiübertragung hat. Sie können mit dem folgenden Befehl einen neuen Benutzer namens sftp erstellen:

adduser sftp

Legen Sie als Nächstes das Passwort für den obigen Benutzer fest:

passwd sftp

Geben Sie Ihr gewünschtes Passwort ein und drücken Sie die Eingabetaste.

Schritt 3 – Erstellen Sie eine Verzeichnisstruktur für Dateiübertragungen

Als Nächstes müssen Sie eine Verzeichnisstruktur für die Dateiübertragung erstellen, um den SFTP-Zugriff auf ein Verzeichnis zu beschränken.

Sie können ein neues Verzeichnis mit dem folgenden Befehl erstellen:

mkdir -p /opt/sftp/public

Als nächstes setzen Sie den Besitz des Verzeichnisses /opt/sftp/ auf root:

chown root:root /opt/sftp

Geben Sie als Nächstes die richtigen Berechtigungen mit dem folgenden Befehl:

chmod 755 /opt/sftp

Legen Sie als Nächstes den Besitz des öffentlichen Verzeichnisses auf den sftp-Benutzer fest:

chown sftp:sftp /opt/sftp/public

Schritt 4 – SSH für SFTP konfigurieren

Als Nächstes müssen Sie SSH konfigurieren, um den Zugriff auf ein Verzeichnis zu beschränken und den Terminalzugriff für den sftp-Benutzer zu verbieten.

Sie können dies tun, indem Sie die Datei /etc/ssh/sshd_config:

bearbeiten
nano /etc/ssh/sshd_config

Fügen Sie am Ende der Datei die folgenden Zeilen hinzu:

Match User sftp
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /opt/sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den SSH-Dienst neu, um die Änderungen zu implementieren:

systemctl restart sshd

Schritt 5 – SFTP verifizieren

Überprüfen Sie nun den SFTP-Zugang mit folgendem Befehl:

sftp [email protected]

Sie werden wie unten gezeigt aufgefordert, ein Passwort einzugeben:

[email protected]'s password:

Geben Sie Ihr sftp-Benutzerkennwort ein und drücken Sie die Eingabetaste. Sobald die Verbindung hergestellt ist, sollten Sie die folgende Ausgabe sehen:

Connected to your-server-ip.
sftp>

Führen Sie als Nächstes den folgenden Befehl aus, um das Verzeichnis aufzulisten:

sftp> ls

Sie sollten das öffentliche Verzeichnis in der folgenden Ausgabe sehen:

public 
sftp>

Überprüfen Sie als Nächstes, ob Sie eine SSH-Verbindung herstellen können oder nicht:

ssh [email protected]

Sie werden wie unten gezeigt aufgefordert, ein Passwort einzugeben:

[email protected]'s password:

Geben Sie Ihr sftp-Benutzerkennwort ein und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

This service allows sftp connections only.
Connection to your-server-ip closed.

Die obige Ausgabe zeigt an, dass der sftp-Benutzer nicht mehr über SSH auf die Server-Shell zugreifen kann.

Schlussfolgerung

Herzliche Glückwünsche! Sie haben SFTP ohne Shell-Zugriff auf CentOS 8 erfolgreich konfiguriert. Sie können dieses Setup auch für mehrere Benutzer und Verzeichnisse verwenden. Beginnen Sie noch heute mit SFTP auf einem VPS von Atlantic.Net!


Linux
  1. So richten Sie einen SFTP-Server unter CentOS ein

  2. Centos – Wie erstelle ich einen Sftp-Benutzer in Centos?

  3. Wie erstelle ich einen neuen Benutzer mit SSH-Zugriff?

  4. Wie richte ich VSFTPD unter CentOS 7.x ein?

  5. Wie kann ich einen Benutzer nur für sftp erstellen?

So erstellen und führen Sie ein Shell-Skript in CentOS 8 aus

So erstellen Sie einen Nur-SFTP-Benutzer in Debian 11

So erstellen Sie einen Sudo-Benutzer unter CentOS

So beschränken Sie den Root-Benutzer in CentOS

So installieren Sie Dgraph unter CentOS 8

So erstellen Sie einen Benutzer oder Kontakt