So erstellen Sie SFTP -Benutzer ohne Shell -Zugriff auf CentOS/RHEL 8
- 3439
- 156
- Tom Jakobs
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.
- « So installieren Sie OpenVPN auf CentOS/RHEL 8
- So installieren Sie Laravel auf Fedora eine Schritt-für-Schritt-Anleitung »