Einrichten der Verbindung zum SFTP-Server
14:15, 27.05.2021
Die Arbeit mit einem entfernten Server ist ohne ein sicheres Dateiübertragungssystem zwischen dem System und dem Benutzer nicht vorstellbar - und ohne SFTP ist es schwer, etwas zu tun. Damit das Protokoll korrekt funktioniert, ist es von entscheidender Bedeutung, SFTP mit verschiedenen Versionen von Linux und Windows richtig zu konfigurieren. In diesem Artikel zeigen wir Ihnen, wie Sie das schnell und einfach tun können!
Was ist SFTP?
SSH File Transfer Protocol - so lautet die Abkürzung für SFTP. Der vollständige Name verdeutlicht das Hauptmerkmal des Protokolls: Es basiert auf der Secure Shell-Technologie. Diese sorgt dafür, dass alle Informationen verschlüsselt übertragen werden, von Dateien bis hin zu Benutzernamen und Passwörtern. Auch bei FTPS (FTP mit SSL), ganz zu schweigen vom normalen FTP, gibt es mehr Einschränkungen. Übrigens, wenn Sie ins Detail gehen, ist SFTP überhaupt nicht mit FTP verwandt - sie haben unterschiedliche technologische Grundlagen.
Das SSH File Transfer Protocol ist nicht nur sehr sicher, sondern hat auch noch andere Vorteile:
- eine Verbindung sowohl für das Senden von Dateien als auch von Befehlen;
- die Möglichkeit, das Senden von Dateien zu unterbrechen und fortzusetzen und sie zu löschen;
- Unterstützung für symbolische Links, Verzeichnislisten und eine Reihe anderer Funktionen;
- etwas schnellere und stabilere Verbindung und Betrieb;
- verfügbare Authentifizierung über SSH-Schlüssel, d. h. es gibt keine Informationen über den Eigentümer.
Unabhängig davon ist festzuhalten, dass das SFTP-Protokoll auf UNIX-Systemen verwendet wird und dass die Standard-Dienstprogramme häufig bereits sowohl einen Client als auch einen SSH-Server enthalten.
Wie wird SFTP konfiguriert?
Die Installation und Konfiguration des SSH File Transfer Protocol ist nicht allzu schwierig, aber die Geschichte sollte in zwei Richtungen aufgeteilt werden - je nach verwendetem Betriebssystem.
Konfigurieren eines Servers mit SSH File Transfer Protocol unter Linux
Zunächst sollten Sie das SSH-Paket auf der Serverseite von OpenSSH und auf der Benutzerseite installieren. Die erste Aufgabe wird durch die folgenden Befehle gelöst:
- Ubuntu und Debian: sudo apt install openssh-server
- CentOS und RHEL: sudo yum -y install openssh-server openssh-clients
Und um den Zugang von einem Computer aus zu organisieren, benötigen Sie einen Befehl der folgenden Form:
- sudo apt install ssh
Danach können Sie direkt mit der SFTP-Konfiguration beginnen. Die gesamte Arbeit sollte in mehrere Schritte unterteilt werden:
1.Erstellung von Gruppen und Benutzern. Durch die Erstellung von Benutzern und deren Einteilung in Gruppen können Sie deren Rechte, Fähigkeiten und Zugriffsbeschränkungen auf ein bestimmtes Verzeichnis auf dem Server fein abstimmen. Um dies zu tun, müssen Sie Folgendes tun:
- Gruppe erstellen: sudo groupadd GROUPNAME
- einen Benutzer hinzufügen: sudo useradd -g GROUPNAME USERNAME
- Benutzerpasswort festlegen: sudo passwd PASSWORD
2. Erstellung von Verzeichnissen. Wenn der Server ein Stammverzeichnis hat (nennen wir es z.B. "Katalog"), kann jeder Benutzer nur auf einen bestimmten "eigenen Ordner" zugreifen - dort befindet sichhe gets when logging in. In this case, you can configure SFTP so that the user can see the contents of the folder, but the file is uploaded to a separate section (for example, ‘loadfolder’). You will need the following commands:
sudo mkdir -p / catalog / USERNAME/loadfolder
sudo chown -R root.GROUPNAME/catalog/USERNAME
sudo chown -R USERNAME.GROUPNAME/catalog/USERNAME/loadfolder
3. Einrichten von sshd_config. Dies ist für zwei Zwecke notwendig. Zum einen wird der Benutzer SFTP geöffnet haben (und nicht die übliche SSH-Shell). Zum anderen wird er nicht in der Lage sein, im Verzeichnis eine Ebene höher zu gehen und Abschnitte für andere Benutzer zu sehen. Fügen Sie dazu den folgenden Code in die Datei / etc / ssh / sshd_config ein:
Gruppe abgleichen GROUPNAME
ChrootDirectory/catalog/% u
ForceCommand internal-sftp
4. Neustart. Um das gesamte System zum Laufen zu bringen, muss es neu gestartet werden:
- sudo systemctl restart sshd
Das war's - die Einrichtung von Linux SFTP ist abgeschlossen! Die Anmeldung erfolgt ähnlich wie bei SSH mit dem gleichen Befehl. Verwenden Sie die spezielle Syntax, um den Inhalt des Servers zu verwalten:
BEFEHL [QUELLE] [ZIEL]
Hier sind einige der am häufigsten verwendeten Beispiele:
- Herunterladen von einem entfernten Server auf den lokalen: GET photo1.jpg ~/Fotos
- Herunterladen von lokal nach fern: PUT ~/preise/preis.pdf loadfolder/
- Löschen einer Datei auf einem entfernten Server: RM loadfolder/ file_325.xlsx
Konfigurieren eines Servers mit SSH File Transfer Protocol unter Windows
Ursprünglich unterstützten die Desktop- und Server-Betriebssysteme von Microsoft SFTP nicht, so dass Tools von Drittanbietern erforderlich waren, um damit zu arbeiten. Heute gibt es jedoch bereits ein offizielles Paket für solche Aufgaben - Win32-OpenSSH. Der Start und die Konfiguration hängen davon ab, welche Version des Betriebssystems installiert ist.
1. Windows Server 2019 oder Windows 10 1803+
Diese Betriebssystemoptionen von Microsoft bieten das einfachste Szenario für den Start eines SFTP-Servers, da Win32-OpenSSH bereits in ihnen enthalten ist. Es gibt zwei Möglichkeiten der Installation:
- über PowerShell: Setzen Sie ein Cmdlet wie Add-WindowsCapability -Online -Name OpenSSH.Server *
- über die Schnittstelle: Einstellungen "Apps" Optionale Funktionen "Eine Funktion hinzufügen" SSH-Server öffnen "Installieren
Es bleibt nur noch, die Adressen herauszufinden, an denen sich die wichtigsten befinden werden:
- Ausführbare Dateien: C:\Windows\System32\OpenSSH\
- Konfigurationsdatei: C:\ProgramData\ssh\
- log: C:\Windows\System32\OpenSSH\Logs\sshd.log\
- schlüssel:%USERNAME%\.ssh\
2. Windows Server 2016/2012 R2
In diesem Betriebssystem, wie auch in den frühen Windows 10-Versionen, müssen Sie zur Konfiguration von SFTP OpenSSH herunterladen - suchen Sie nach der Version für ein 64-Bit-System auf GitHub. Nach dem Entpacken des Archivs in das gewünschte Verzeichnis (z. B. C:\catalog_OpenSSH) müssen Sie eine Reihe von Verfahren durchführen:
- Öffnen Sie PowerShell als Administrator und navigieren Sie zu dem Zielverzeichnis, das Sie zuvor mit dem Cmdlet Cd C:\catalog_OpenSSH erstellt haben. Anschließend muss der Pfad zu diesem Verzeichnis zur Umgebungsvariablen Path hinzugefügt werden.
- Starten Sie die Installation mit dem Befehl:. \Install-sshd.ps1 (der Erfolg wird durch eine Meldung mit grünen Buchstaben bestätigt). Danach sollten Sie Schlüssel erzeugen, um den SSH-Dienst zu starten, indem Sie angeben: ssh-keygen.exe -A
- Starten Sie in PowerShell den SSH-Dienst autostart mit zwei aufeinander folgenden Befehlen: Set-Service -Name sshd -StartupType 'Automatic' gefolgt von Start-Service sshd in einer neuen Zeile.
- Öffnen Sie den TCP-Port 22 für eingehenden Datenverkehr zum SSH-Server. Dies kann in der Firewall über PowerShell mit folgendem Befehl erfolgen New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH
- Öffnen Sie die Konfigurationsdatei (sie befindet sich in C:\ProgramData\SSH\) und vergewissern Sie sich, dass die erforderliche Datei in der sftp-Anweisung des Subsystems korrekt angegeben ist, d. h. sftp-server.exe.
Nach der Konfiguration von SFTP unter Windows müssen nur noch einige Änderungen an der Konfigurationsdatei vorgenommen werden. Hier sind einige Standardbeispiele:
- AllowGroups corp\admingroup # Erlaubt den Zugriff auf OpenSSH für Benutzer der angegebenen Gruppe
- AuthenticationMethods password # verweigert SSH-Schlüssel (die Anmeldung erfolgt nur mit dem Benutzerpasswort)
- ForceCommand internal-sftp #
- ChrootDirectory C:\inetpub\wwwroot\ftpfolder # erstellt und setzt das Anmeldeverzeichnis für den SFTP-Benutzer
Starten Sie nach den Anpassungen einen SFTP-Client (z. B. WinSCP), geben Sie den Servertyp und -namen sowie die Anmeldedaten ein - und melden Sie sich an (beim ersten Mal sollten Sie die Meldung erhalten, dass der Host-Schlüssel nicht im Cache ist). Wenn sich die bekannte Dateimanageroberfläche mit dem Benutzerverzeichnis auf dem Server öffnet, ist alles richtig konfiguriert!
Anstelle von P.S.
Die Praxis zeigt: Obwohl die Einrichtung von SFTP recht einfach ist, gibt es bei vielen Anwendern verschiedene Fragen und nicht alltägliche Situationen. Um diese zu verstehen, ist kompetente Hilfe eine Überlegung wert - in Form von professionellem technischem Support des Providers. Wir von HostZealot schenken dem maximale Aufmerksamkeit. Ob Sie einen VPS für Windows oder Linux bestellen, Sie können sich auf den Rat unserer Spezialisten verlassen - sie helfen Ihnen nicht nur bei der Fehlersuche im SSH File Transfer Protocol, sondern auch bei allen anderen Aufgaben bei der Einrichtung Ihres Servers!