Richten Sie den SFTP-Server unter Windows ein

Olorunfemi Akinlua 15 Februar 2024
  1. SFTP-Server für ältere Windows einrichten
  2. Richten Sie den SFTP-Server für neuere Windows ein
  3. Verwenden Sie WinSCP, um den SFTP-Client einzurichten und zu konfigurieren
Richten Sie den SFTP-Server unter Windows ein

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 zu Dienste und prüfen Sie den Status von OpenSSH server und OpenSSH-Authentifizierungsagent.

    Automatische Dienste

  • Wenn Status und Starttyp nicht running und Automatic sind, klicken Sie mit der rechten Maustaste auf beide Dienste und wählen Sie Properties.

    Eigenschaften

  • Ändern Sie den Starttyp auf Automatisch, klicken Sie auf Start und wählen Sie OK.

    Starttyp

  • Machen Sie dasselbe für OpenSSH Authentication Agent; Jetzt sollten beide Dienste Running und Automatic sein.

    OpenSSH-Authentifizierungsagent

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.

    Optionale Funktionen

  • Wählen Sie Funktionen anzeigen und suchen Sie im Dialogfeld Optionale Funktion hinzufügen nach OpenSSH server.

    Fügen Sie eine optionale Funktion hinzu

  • Aktivieren Sie das Kontrollkästchen OpenSSH server und klicken Sie auf Installieren.

    OpenSSH-Server

  • 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 nach Dienste suchen.

    Suche nach Diensten

  • Suchen Sie in der Liste der Windows-Dienste nach OpenSSH server.

    OpenSSH-Serverdienste

  • Klicken Sie mit der rechten Maustaste auf den Dienst und wählen Sie Eigenschaften.

    Eigenschaften

  • Ändern Sie den Starttyp auf Automatisch, klicken Sie auf Start und wählen Sie OK.

    Starttyp

  • Machen Sie dasselbe für OpenSSH Authentication Agent; Jetzt sollten beide Dienste Running und Automatic sein.

    OpenSSH-Authentifizierungsagent

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.

    Wählen Sie Installationsmodus

  • Akzeptieren Sie die Lizenzvereinbarung und wählen Sie die Option Typische Installation.

    Typische Installation

  • Wählen Sie Ihren bevorzugten Stil der Benutzeroberfläche, aber wir werden in diesem Artikel den Commander verwenden.

    Kommandant

  • Klicken Sie anschliessend auf Installieren und starten Sie die Anwendung WinSCP.

    Installieren

  • Nach dem Start sollten Sie einen Bildschirm ähnlich dem folgenden sehen.

    Startbildschirm

  • Geben Sie den Hostnamen ein; Verwenden Sie localhost. Verwenden Sie die Standardportnummer 22 und geben Sie den Namen und das Passwort Ihres Computers ein. Klicken Sie danach auf die Schaltfläche Anmelden.

    Bildschirm füllen

  • Der folgende Bildschirmdialog erscheint und Sie müssen Ja auswählen.

    Bildschirmdialog

  • Wenn erfolgreich, sollten Sie den folgenden Bildschirm sehen.

    Erfolgreich

  • 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 genannten OpenSSH-Dienste starten müssen.

    Erfolglos

  • 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. Das ssh-keygen erstellte ein verstecktes Verzeichnis namens .ssh und speicherte das Schlüsselpaar in der Datei id_rsa.pub unter .ssh.

    Der vollständige Pfad des öffentlichen Schlüssels ist C:\Users\akinl/.ssh/id_rsa.pub.

    id_rsa

    Der öffentliche Schlüssel ist die Datei id_rsa.pub und der private Schlüssel ist die Datei id_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üssels id_rsa.pub in die Datei authorized_keys und speichern Sie die Änderungen; Sie können einen Texteditor wie Notepad verwenden.

    Berechtigte_Schlüssel

  • Es sollten mindestens drei Dateien (authorized_keys, id_rsa und id_rsa.pub) in Ihrem .ssh-Verzeichnis vorhanden sein.

    SSH-Verzeichnis

  • Um die Datei authorized_keys sicher und nur für die Administratoren oder Kernbenutzer zugänglich zu halten, müssen Sie die Access 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.

    Kein Zugang

  • 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 Datei sshd_config ist im Verzeichnis ProgramData verfügbar. Kopieren Sie den vollständigen Pfad unten in den Windows Explorer und öffnen Sie die Datei sshd_config
    C:\ProgramData\ssh
    

    Die Datei sshd_config ist die letzte Datei innerhalb des Verzeichnisses.

    sshd_config

  • Ändern Sie, indem Sie die Zeilen mit den Konfigurationsinformationen in Ihrer sshd_config-Datei auskommentieren oder ändern. Öffnen Sie außerdem die Datei sshd_config als Administrator.
    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:

    ssh_config_edit

  • Lassen Sie uns nun WinSCP mit der vorherigen Benutzernamen- und Passwort-Anmeldemethode öffnen.

    Keine unterstützte Authentifizierung

    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äche Erweitert.

    Erweitert-Schaltfläche

  • Gehen Sie unter SSH auf den Reiter Authentifizierung.

    Authentifizierung

  • 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 in Alle Dateien

    Authentifizierungsparameter

  • Wählen Sie die Datei id_rsa aus, die den folgenden Dialog hervorrufen sollte. Wählen Sie OK.

    OK

    Danach sollte der folgende Dialog angezeigt werden.

    Privater Schlüssel konvertiert

  • Klicken Sie dann auf OK.

    Einstellungen speichern

  • Klicken Sie nun auf Anmelden.

    Anmeldung

    Und jetzt haben Sie Zugriff auf den SFTP-Server mithilfe der Public-Key-Authentifizierung.

    Zugriff über SSH

Olorunfemi Akinlua avatar Olorunfemi Akinlua avatar

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

Verwandter Artikel - Python Server