So erstellen Sie SFTP -Benutzer ohne Shell -Zugriff auf CentOS/RHEL 8

So erstellen Sie SFTP -Benutzer ohne Shell -Zugriff auf CentOS/RHEL 8

SFTP (SSH -Dateitransferprotokoll) ist ein sicheres Dateiübertragungsprotokoll zwischen zwei Systemen. Es läuft über das SSH -Protokoll und teilt den gleichen Port 22 auf. Dieses Tutorial hilft Ihnen dabei, nur SFTP -Zugriff auf Benutzer (ohne SSH -Zugriff) auf CentOS 8 und Redhat 8 -Systemen zu erstellen. Der Benutzer kann den Server nur mit SFTP verbinden und auf das angegebene Verzeichnis zugreifen zu können. Benutzer können nicht in den Server SSH SSH. Folgen Sie dem folgenden Tutorial, um nur SFTP -Account auf CentOS 8 und RHEL 8 zu erstellen.

Schritt 1 - Konto erstellen

Erstellen Sie zunächst ein Benutzerkonto für den SFTP -Zugriff. Für dieses Tutorial erstellen wir einen benannten Benutzer sftpuser ohne Shell -Zugang. Legen Sie außerdem ein starkes Passwort für den Benutzer fest.

sudo adduser -Shell /bin /false sftpuser sudo passwd sftpuser 
Ändern des Kennworts für Benutzer SFTPuser. Neues Passwort: Neues Passwort eingeben: PassWD: Alle Authentifizierungs -Token erfolgreich aktualisiert. 

Schritt 2 - Verzeichnis erstellen

Erstellen Sie nun die Verzeichnisstruktur, die vom SFTP -Benutzer zugänglich ist. Wir werden den neuen Benutzer nur auf dieses Verzeichnis beschränken. Daher kann der Benutzer nicht auf Dateien auf andere Verzeichnisse zugreifen.

sudo mkdir -p/var/sftp/Dateien 

Ändern Sie das Eigentum des Verzeichnisses in neu erstellte SFTP -Benutzer. Damit SFTPuser dieses Verzeichnis lesen und schreiben kann.

sudo chown sftpuser: sftpuser/var/sftp/Dateien 

Sie müssen den Eigentümer und den Gruppenbesitzer des /var /sftp auf root setzen. Der Root -Benutzer hat auf diesen Zugriff gelesen/schriftlich zugreifen. Gruppenmitglieder und andere Konten haben nur Berechtigungen gelesen und ausgeführt.

sudo chown root: root /var /sftp sudo chmod 755 /var /sftp 

Schritt 3 - SSH für SFTP konfigurieren

Wie wir wissen, läuft der SFTP über das SSH -Protokoll, daher müssen wir dies in der Konfigurationsdatei konfigurieren. Bearbeiten Sie die SSH -Konfigurationsdatei in einem Texteditor.

sudo vim/etc/ssh/sshd_config 

Und fügen Sie die folgenden Einstellungen am Ende der Datei hinzu.

Übereinstimmen User SFTPUSER FORCECOMMAND INTERNEHENSFETPKWITALTP-Kennwortauthentifizierung Ja chrootdirectory /var /sftp Perintunnel Keine Zulassungsabwälzung NEIN AUFGABE 

Speichern Sie die Konfiguration und starten Sie den SSH -Dienst neu, um Änderungen anzuwenden.

sudo systemctl starten sshd neu.Service 

Alles fertig, Ihr System ist bereit, die SFTP -einzige Verbindung für das erstellte Konto zu akzeptieren. Lassen Sie uns die SFTP -Verbindung testen und sicherstellen, dass der Benutzer nicht an SSH autorisiert ist.

Schritt 4 - SFTP -Verbindung testen

Ich verwende Filezilla für die Verbindung zur SFTP -Instanz von meinen Windows -Systemen. Linux -Desktop -Benutzer können auch FileZilla für die Verbindung verwenden.

Für den Linux-Server können Benutzer das SFTP-Befehlszeilendienstprogramm verwenden, um eine Verbindung zur Remote-SFTP-Instanz herzustellen.

SFTP [E -Mail geschützt] 
Verbindung zu SFTP herstellen.Tecadmin.net… [E -Mail -Protected] Kennwort: SFTP> 

Verbinden Sie eine Verbindung mit FileZilla:

Dieses Konto ist für die SFTP -Verbindungsverbindung konfiguriert. Wenn also ein Benutzer versuchte, eine Verbindung über SSH herzustellen, wird sofort nach der erfolgreichen Authentifizierung getrennt. Der Benutzer wird unterhalb der Nachricht erhalten:

SSH [E -Mail geschützt] 
[E -Mail Protected] Passwort: Dieser Dienst ermöglicht nur SFTP -Verbindungen. Verbindung zu SFTP.Tecadmin.Netz geschlossen. 

Die obige Nachricht (dieser Dienst ermöglicht nur SFTP -Verbindungen.) zeigt, dass der Benutzer nur über SFTP -Zugriff verfügt. Benutzer können keinen Server über SSH verbinden.