So erstellen Sie SFTP -Benutzer in Ubuntu 22.04 (kein Shell Access)

So erstellen Sie SFTP -Benutzer in Ubuntu 22.04 (kein Shell Access)

SFTP ist ein Protokoll, das die sichere Übertragung von Dateien über ein Netzwerk ermöglicht. Es wird häufig von Unternehmen und Einzelpersonen verwendet, um sensible Daten zu übertragen. SFTP ähnelt FTP, verwendet jedoch ein anderes Protokoll für die Kommunikation. SFTP ist sicherer als FTP und wird häufig in Verbindung mit SSH (Secure Shell) verwendet, um ein noch höheres Sicherheitsniveau zu bieten.

In diesem Tutorial helfen wir Ihnen, einen SFTP-Server einzurichten und einen nur SFTP-Benutzer auf Ubuntu 22 zu erstellen.04 Systeme. Dieses Konto kann eine Verbindung über SFTP herstellen, kann jedoch keine Verbindung über SSH herstellen. Dies wird (chroot) auch den SFTP -Benutzer nur auf ein bestimmtes Verzeichnis beschränken.

Voraussetzungen

  • Ein laufender Ubuntu 22.04 LTS -System mit Shell Access
  • Erfordert ein sudo privilegiertes Konto

Schritt 1 - Installieren von OpenSSH -Server

Die Ubuntu -Server haben den OpenSSH -Server bereits installiert, aber die Desktop -Systeme haben es möglicherweise nicht. Verwenden Sie den folgenden Befehl, um den OpenSSH -Server zu installieren und auszuführen:

sudo apt update && sudo apt install OpenSSH-Server  

Schritt 2 - SFTP -Benutzer erstellen

Erstellen Sie zunächst ein neues Konto in Ihrem System, um sie als SFTP -Benutzer zu verwenden.

Der folgende Befehl erstellt ein neues Konto mit dem Namen sftpuser ohne Shell -Zugang. Sie können den Benutzernamen Ihrer Wahl ändern

sudo adduser -Shell /bin /false sftpuser  
Erstellen von SFTP -Benutzer in Ubuntu

Schritt 3 - SFTP -Verzeichnis konfigurieren

Erstellen Sie nun die Verzeichnisstruktur, die vom SFTP -Benutzer zugegriffen werden soll.

sudo mkdir -p/var/sftp/Dateien  

Hier können Benutzer nur auf das Verzeichnis "Dateien" zugreifen.

Ändern Sie nun den Eigentum an dem Dateienverzeichnis in den SFTPuser. Damit SFTPuser nur in diesem Verzeichnis lesen und schreiben kann.

sudo chown sftpuser: sftpuser/var/sftp/Dateien  

Und 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 4 - SSH -Konfigurationsdatei aktualisieren

Bearbeiten Sie nun 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 

Stellen Sie sicher, dass Sie Konfiguration nach dem hinzufügen Teilsystem Zeile wie im folgenden Screenshot gezeigt:

SFTP Nur Konfiguration auf Ubuntu

Speichern Sie die Konfigurationsdatei und schließen Sie sie.

Validieren Sie nun die Konfigurationsdatei.

sudo sshd -t  

Wenn die Validierung erfolgreich ist, wird keine Ausgabe angezeigt. Wenn in der Ausgabe ein Fehler angezeigt wird, stellen Sie sicher, dass Sie diese feststellen, bevor Sie die nächsten Befehle ausführen.

Starten Sie den SSH -Dienst neu, um Änderungen anzuwenden.

sudo systemctl starten ssh neu  

Alles erledigt. SFTP-Benutzer wird in Ihrem Ubuntu-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 5 - Verbindung zum SFTP -Benutzer herstellen

Man kann eine Verbindung zu einem Remote -SFTP -Server mit einer Befehlszeile oder grafischen Anwendungen wie Filezilla oder WinSCP herstellen. In diesem Tutorial werde ich Ihnen beide Möglichkeiten zeigen, SFTP nur mit einem Konto im Ubuntu -System zu verbinden.

Linux-Benutzer können das SFTP-Befehlszeilendienstprogramm verwenden, um eine Verbindung zu einer Remote-SFTP-Instanz herzustellen.

SFTP [E -Mail geschützt]  [E -Mail geschützt] Passwort: SFTP> 

Sie können auch eine Verbindung zu einem Remote -SFTP -Server mit grafischen Schnittstellenanwendungen wie FileZilla herstellen. Das ist sowohl für Linux- als auch für Windows -Benutzer verfügbar. Öffnen Sie die Dateizilla -Anwendung und geben Sie sie in SFTP -Details ein:

  • Gastgeber: sftp: // system-ip-host
  • Nutzername: Verwenden Sie den in Schritt 1 erstellten SFTP -Benutzer.
  • Passwort: Verwenden Sie das in Schritt 1 erstellte SFTP -Benutzerkennwort.
  • Hafen: Verwenden Sie den SSH -Server -Port oder halten Sie leer für den Standard -Port.

Drücke den Schnelle Verbindung Taste:

Überprüfen Sie keinen Shell -Zugriff:

Da dieses Konto für nur SFTP-Verbindung konfiguriert ist. Wenn also ein Benutzer versuchte, eine Verbindung über SSH herzustellen, wird sofort nach der erfolgreichen Authentifizierung getrennt. Der Benutzer erhält die folgende Nachricht:

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

Abschluss

Zusammenfassend ist das Einrichten eines SFTP -Servers eine großartige Möglichkeit, Dateien zwischen Computern sicher zu übertragen. Wenn Sie die Schritte in diesem Artikel befolgen, können Sie Ihren eigenen SFTP -Server in kürzester Zeit auf Ubuntu -Systemen einrichten. Wenn Sie Fragen haben, können Sie unten einen Kommentar hinterlassen und wir helfen Ihnen gerne weiter.