So erstellen Sie nur SFTP -Benutzer in Debian 11
- 3704
- 58
- Matteo Möllinger
SFTP (SSH -Dateitransferprotokoll) ist ein sicheres Dateiprotokoll, das zum Zugriff auf, verwaltet und überträgt Dateien über eine verschlüsselte SSH -Transportsitzung. Sicherheit zuerst ist eine Daumenregel für die Systemadministratoren. In einigen Fällen müssen wir Remote -Benutzer erlauben, auf das Dateisystem in unserem System zuzugreifen, aber Sie möchten ihnen nicht erlauben, eine Shell zu erhalten. Auf diese Weise können Sie einen sicheren Kanal haben, um einen begrenzten Zugriff auf bestimmte Dateien und Verzeichnisse zu ermöglichen.
In diesem Tutorial können Sie SFTP -Zugriff (ohne Shell Access) auf dem Debian 11 -System einrichten. Es erstellt eine Chroot -Umgebung in Ihrem System, um den SFTP -Benutzer nur auf ein bestimmtes Verzeichnis zu beschränken. Außerdem ermöglicht SFTP nur Zugriff ohne SSH -Zugriff auf den Benutzer.
Voraussetzungen
- Ein laufendes Debian 11 Bullseye Linux -System
- Sie müssen sudo privilegiertes Konto bei Shell Access haben
Schritt 1 - Erstellen Sie einen neuen Benutzer
Erstellen Sie zunächst einen neuen Benutzer, der eine Verbindung zum SFTP -Server herstellt. Der folgende Befehl erstellt ein neues Konto mit dem Namen sftpuser ohne Shell -Zugang. Sie können einen beliebigen Namen Ihrer Wahl oder Anforderung verwenden.
sudo adduser -Shell /bin /false sftpuser
Schritt 2 - Erstellen Sie ein Verzeichnis für den SFTP -Zugriff
Sie haben einen Benutzer für SFTP erstellt. Erstellen Sie nun ein Verzeichnis, um als Chroot für den SFTP zu konfigurieren. In diesem Beispiel werde ich a erstellen /var/sftp Verzeichnis. Das Verzeichnis muss Root -Eigentümer haben, um als Chroot -Verzeichnis konfiguriert zu werden. Wir erstellen also ein Unterverzeichnis unter /var /sftp mit Schreibzugriff auf SFTP -Konto.
Erstellen Sie die Verzeichnisstruktur mit dem folgenden Befehl:
sudo mkdir -p/var/sftp/Dateien
Als Nächst. Hier /var /sftp muss die Wurzelbesitz und die Gruppe mit ordnungsgemäßer Erlaubnis haben. Um diese Erlaubnis festzulegen, geben Sie ein:
sudo chown root: root /var /sftp
sudo chmod 755 /var /sftp
Ändern Sie nun die Erlaubnis für die "Dateien"
Verzeichnis, mit dem der Schreibzugriff auf SFTPuser zugelassen werden kann. Um diese Berechtigungen festzulegen, geben Sie ein:
sudo chown sftpuser: sftpuser/var/sftp/Dateien
Sobald der SFTPuser eine Verbindung zum Server herstellt, erhalten Sie /var /sftp als Stammverzeichnis. Er kann außerhalb dessen nicht auf das Dateisystem zugreifen. Außerdem kann der Benutzer nur Dateien unter dem Verzeichnis „Dateien“ lesen/schreiben.
Schritt 3 - Konfigurieren Sie nur SSHD für SFTP
Als nächstes müssen Sie den SSH -Server so konfigurieren, dass der „SFTPuser“ den Server nur ohne Shell -Zugriff mit SFTP verbinden kann. Um die erforderlichen Änderungen vorzunehmen, bearbeiten Sie die SSH -Konfigurationsdatei.
sudo nano/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 AUFGABEChroot -Konfiguration für den SFTP -Benutzer
Überprüfen Sie, ob alle Einstellungen korrekt sind. Speichern Sie dann die Änderungen und starten Sie den SSH -Dienst neu, um Änderungen anzuwenden.
sudo systemctl starten ssh neu
Alles, was erledigt hat, wird nur SFTP -Nutzung in Ihrem Debian -System erfolgreich erstellt. Versuchen Sie nun, sich mit den Anmeldeinformationen des neuen Benutzers im Remote -System anzumelden, und überprüfen Sie, ob alles richtig funktioniert.
Schritt 4 - Verbindung zu SFTP herstellen
Man kann eine Verbindung zu einem Remote -SFTP -Server mit einer Befehlszeile oder grafischen Anwendungen wie Filezilla oder WinSCP herstellen. In diesem Tutorial zeige ich Ihnen beide Möglichkeiten, SFTP -Server zu verbinden.
Linux-Benutzer können das SFTP-Befehlszeilendienstprogramm verwenden, um eine Verbindung zu Remote-SFTP-Instanzen herzustellen.
SFTP [E -Mail geschützt]
[E -Mail geschützt] Passwort: SFTP>
GUI -Schnittstelle oder Windows -Benutzer können grafische SFTP -Clients verwenden. Verwenden Sie beispielsweise den Dateizilla -Client, um das Remote -SFTP -Konto im Remote -System zu verbinden.
Überprüfen Sie keinen Shell -Zugriff:
Da dieses Konto nur für SFTP -Verbindung konfiguriert ist. 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.
Abschluss
In dieser Anleitung haben Sie gelernt, die Chroot-Gefängnisumgebung für SFTP-Benutzer ohne Shell-Zugriff auf den Server zu erstellen. Die Chroot -Umgebung sichert das Dateisystem, indem sie verhindert, dass Benutzer auf Dateien außerhalb des definierten Verzeichnisses zugreifen. Dieses Tutorial wird mit Debian 11 Bullseye System erstellt und getestet, aber dies wird auf anderen Debian -Versionen funktionieren.
- « So installieren Sie Mariadb auf Debian 11
- So deaktivieren Sie die strenge Host -Schlüsselprüfung in SSH »