Richten Sie den SFTP-Server unter Windows ein
- SFTP-Server für ältere Windows einrichten
- Richten Sie den SFTP-Server für neuere Windows ein
- Verwenden Sie WinSCP, um den SFTP-Client einzurichten und zu konfigurieren
SFTP-Server ermöglichen uns den Zugriff auf ihre Dateien und Inhalte über das SSH File Transfer Protocol, ein sicheres Netzwerkprotokoll. Innerhalb unserer Betriebssystemumgebungen können wir SFTP-Server einrichten, damit wir Ressourcen abrufen und dorthin und von dort senden können.
In diesem Artikel wird die Einrichtung von SFTP-Servern unter Windows mit der WinSCP-Software erläutert.
SFTP-Server für ältere Windows einrichten
Um einen SFTP-Server unter Windows einzurichten, müssen Sie OpenSSH installieren, das Sie von PowerShell GitHub herunterladen können. Sie können diese Umgebungen Installationsanleitung für Linux überprüfen.
Sie können die msi
- oder zip
-Datei herunterladen, aber wir werden in diesem Artikel nur die msi
-Datei verwenden.
-
Installieren Sie die
msi
-Datei. Gehen Sie danach zuDienste
und prüfen Sie den Status vonOpenSSH server
undOpenSSH-Authentifizierungsagent
. -
Wenn
Status
undStarttyp
nichtrunning
undAutomatic
sind, klicken Sie mit der rechten Maustaste auf beide Dienste und wählen SieProperties
. -
Ändern Sie den
Starttyp
aufAutomatisch
, klicken Sie aufStart
und wählen SieOK
. -
Machen Sie dasselbe für
OpenSSH Authentication Agent
; Jetzt sollten beide DiensteRunning
undAutomatic
sein.
Richten Sie den SFTP-Server für neuere Windows ein
-
Bei neueren Windows-Versionen können Sie zu
Einstellungen > Apps > Optionale Funktionen
gehen, um OpenSSH zu erhalten. -
Wählen Sie
Funktionen anzeigen
und suchen Sie im DialogfeldOptionale Funktion hinzufügen
nachOpenSSH server
. -
Aktivieren Sie das Kontrollkästchen
OpenSSH server
und klicken Sie aufInstallieren
. -
Konfigurieren Sie anschließend den SSH-Server mit dem folgenden PowerShell-Befehl, um eingehende Verbindungen zum Server zuzulassen.
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -Program "C:\\Windows\\System32\\OpenSSH\\sshd.exe"
-
Starten wir nach der Konfiguration den Dienst
OpenSSH server
. Um dies einzurichten, müssen Sie in der Suchleiste nachDienste
suchen. -
Suchen Sie in der Liste der Windows-Dienste nach
OpenSSH server
. -
Klicken Sie mit der rechten Maustaste auf den Dienst und wählen Sie
Eigenschaften
. -
Ändern Sie den
Starttyp
aufAutomatisch
, klicken Sie aufStart
und wählen SieOK
. -
Machen Sie dasselbe für
OpenSSH Authentication Agent
; Jetzt sollten beide DiensteRunning
undAutomatic
sein.
Verwenden Sie WinSCP, um den SFTP-Client einzurichten und zu konfigurieren
WinSCP ist eine reine GPL-3.0-Software, die kostenlos verwendet und modifiziert werden kann. Es ermöglicht uns, sichere Dateiübertragungen über verschiedene Protokolle durchzuführen, einschließlich SSH File Transfer und Amazon S3.
Es ist nur unter Windows verfügbar und kann von deren Download-Seite heruntergeladen werden.
-
Führen Sie nach dem Download die Installationsdatei aus und wählen Sie den bevorzugten
Installationsmodus
aus. -
Akzeptieren Sie die Lizenzvereinbarung und wählen Sie die Option
Typische Installation
. -
Wählen Sie Ihren bevorzugten Stil der Benutzeroberfläche, aber wir werden in diesem Artikel den
Commander
verwenden. -
Klicken Sie anschliessend auf
Installieren
und starten Sie die AnwendungWinSCP
. -
Nach dem Start sollten Sie einen Bildschirm ähnlich dem folgenden sehen.
-
Geben Sie den Hostnamen ein; Verwenden Sie
localhost
. Verwenden Sie die Standardportnummer22
und geben Sie den Namen und das Passwort Ihres Computers ein. Klicken Sie danach auf die SchaltflächeAnmelden
. -
Der folgende Bildschirmdialog erscheint und Sie müssen
Ja
auswählen. -
Wenn erfolgreich, sollten Sie den folgenden Bildschirm sehen.
-
Wenn dies nicht gelingt, sehen Sie möglicherweise einen Dialog wie den folgenden, weil Ihr
OpenSSH
-Dienst nicht läuft und Sie die beiden zuvor genanntenOpenSSH
-Dienste starten müssen. -
Jetzt können wir mit dem Befehl
ssh-keygen
eine Public-Key-basierte Authentifizierung einrichten.ssh-keygen
Die Ausgabe des Befehls ist unten.
Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\akinl/.ssh/id_rsa): Created directory 'C:\Users\akinl/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in C:\Users\akinl/.ssh/id_rsa. Your public key has been saved in C:\Users\akinl/.ssh/id_rsa.pub. The key fingerprint is: SHA256:Ryrpy5HHTT1NK2OFzT3NjoIwORbzNV7/BfBfPLhHCEk akinl@Olorunfemi-PC The key's randomart image is: +---[RSA 3072]----+ | o .E=.o | | = +.Bo*.| | * o oo*+O| | o * o +o=*| | o S + B.+.+| | . + + . =. | | + o . | | . + | | o | +----[SHA256]-----+
Wenn das Tool
ssh-keygen
eine Passphrase anfordert, können Sie eine eingeben, aber wir verwenden keine für diesen Artikel. Dasssh-keygen
erstellte ein verstecktes Verzeichnis namens.ssh
und speicherte das Schlüsselpaar in der Dateiid_rsa.pub
unter.ssh
.Der vollständige Pfad des öffentlichen Schlüssels ist
C:\Users\akinl/.ssh/id_rsa.pub
.Der öffentliche Schlüssel ist die Datei
id_rsa.pub
und der private Schlüssel ist die Dateiid_rsa
. -
Um die privaten und öffentlichen Schlüssel mit dem WinSCP zu verknüpfen, müssen wir eine Datei mit dem Namen
authorized_keys
im Ordner.ssh
erstellen. Kopieren Sie den Inhalt des öffentlichen Schlüsselsid_rsa.pub
in die Dateiauthorized_keys
und speichern Sie die Änderungen; Sie können einen Texteditor wie Notepad verwenden. -
Es sollten mindestens drei Dateien (
authorized_keys
,id_rsa
undid_rsa.pub
) in Ihrem.ssh
-Verzeichnis vorhanden sein. -
Um die Datei
authorized_keys
sicher und nur für die Administratoren oder Kernbenutzer zugänglich zu halten, müssen Sie dieAccess Control List (ACL)
konfigurieren. Verwenden Sie den folgenden Befehl, um die Zugriffskontrolle zu konfigurieren.icacls.exe "C:\Users\<username>\.ssh\authorized_keys" /inheritance:r /grant "Adminstrators:F" /grant "SYSTEM:F"
-
Ändern Sie
<Benutzername>
in Ihren Benutzernamen.icacls.exe "C:\Users\akinl\.ssh\authorized_keys" /inheritance:r /grant "Adminstrators:F" /grant "SYSTEM:F"
Die Ausgabe des Befehls:
processed file: C:\Users\akinl\.ssh\authorized_keys Successfully processed 1 file; Failed processing 0 files
-
Wenn Sie also jetzt dieselbe
authorized_keys
-Datei öffnen, sollten Sie den folgenden Dialog sehen. -
Um den SFTP-Server vollständig zu konfigurieren, müssen wir die Datei
sshd_config
bearbeiten, um die auf öffentlichen Schlüsseln basierende Authentifizierung einzurichten; Die Dateisshd_config
ist im VerzeichnisProgramData
verfügbar. Kopieren Sie den vollständigen Pfad unten in den Windows Explorer und öffnen Sie die Dateisshd_config
C:\ProgramData\ssh
Die Datei
sshd_config
ist die letzte Datei innerhalb des Verzeichnisses. -
Ändern Sie, indem Sie die Zeilen mit den Konfigurationsinformationen in Ihrer
sshd_config
-Datei auskommentieren oder ändern. Öffnen Sie außerdem die Dateisshd_config
alsAdministrator
.PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no PermitEmptyPasswords no Subsystem sftp internal-sftp Match User <username> X11Forwarding no AllowTcpForwarding no PermitTTY no ForceCommand internal-sftp PasswordAuthentication no
Stellen Sie außerdem sicher, dass Sie den
<username>
in Ihren Benutzernamen ändern. Darüber hinaus können Sie die folgenden Konfigurationsinformationen innerhalb der Datei kommentieren.Match Group administrators AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
-
Die Änderungen an Ihrer
ssh_config
-Datei sollten wie im folgenden Bild aussehen: -
Lassen Sie uns nun WinSCP mit der vorherigen Benutzernamen- und Passwort-Anmeldemethode öffnen.
Es wird nicht mehr unterstützt, da wir die Konfigurationsdatei so geändert haben, dass sie nur die Public-Key-Authentifizierung unterstützt. Um uns jetzt anzumelden, müssen wir unseren öffentlichen Schlüssel verwenden.
-
Anstatt das
Passwort
zu verwenden, klicken Sie auf die SchaltflächeErweitert
. -
Gehen Sie unter
SSH
auf den ReiterAuthentifizierung
. -
Suchen Sie im Bereich
Authentifizierungsparameter
nach der privaten Schlüsseldatei und wechseln Sie in das Verzeichnis.ssh
(C:\Users\akinl\.ssh
) und ändern Sie die Dateioptionen inAlle Dateien
-
Wählen Sie die Datei
id_rsa
aus, die den folgenden Dialog hervorrufen sollte. Wählen SieOK
.Danach sollte der folgende Dialog angezeigt werden.
-
Klicken Sie dann auf
OK
. -
Klicken Sie nun auf
Anmelden
.Und jetzt haben Sie Zugriff auf den SFTP-Server mithilfe der Public-Key-Authentifizierung.
Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.
LinkedIn