Ich habe diese Anleitung verwendet, um OpenSSH von zu installierenWinSCPsWebseite.
Ich habe das msi
Installationsprogramm verwendet, das auf der GitHub-Seite aufgeführt isthttps://github.com/PowerShell/Win32-OpenSSH/releases.
Der Server scheint zu laufen, aber nach dem Anmeldeversuch erhalte ich:
---------------------------
Error
---------------------------
Connection has been unexpectedly closed. Server sent command exit status 1.
---------------------------
Cannot initialize SFTP protocol. Is the host running an SFTP server?
---------------------------
OK Reconnect Help
---------------------------
Auf der Server-Maschine scheint ein SSHD zu laufen, der auf Port 22 lauscht (von TCPview kopiert):
Verfahren | PID | Protokoll | Zustand | Lokale Adresse | Lokaler Port | Remote-Adresse | Remote-Port | Zeit schaffen | Modulname |
---|---|---|---|---|---|---|---|---|---|
Herunterladen | 5844 | TCP | Hören | 0.0.0.0 | 22 | 0.0.0.0 | 0 | 19.08.2022 18:49:33 Uhr | sshd |
Herunterladen | 5844 | TCPv6 | Hören | :: | 22 | :: | 0 | 19.08.2022 18:49:33 Uhr | sshd |
Ich habe die Standardeinstellung nicht geändertsshd_config
Aktualisieren:
Die Verwendung von Putty und demselben Benutzernamen und Passwort funktioniert und ich kann Verzeichnisse durchsuchen.
Hier ist Putty vs. WinScp:
(Wobei Rot und Orange jeweils Benutzername und Computername darstellen)
Es sind FW-Regeln definiert:
Antwort1
Das Problem bestand darin, dass sftp-server.exe
nicht in enthalten war PATH
. Das Hinzufügen des Installationspfads C:\Program Files\OpenSSH
und ein Neustart des Dienstes Restart-Service sshd
lösten das Problem.
Ich diagnostizierte durch die Einstellung
SyslogFacility LOCAL0
LogLevel DEBUG3
InC:\ProgramData\ssh\sshd_config
Und bemerkte, dass es sich beschwerte, es nicht zu finden
subsystem: cannot stat sftp-server.exe: No such file or directory
Antwort2
Um das Problem zu beheben, öffnen Sie die SSH-Serverkonfiguration unter Windows (normalerweise unter C:\ProgramData\ssh\sshd_config
).
Ersetzen Sie es zuerst sftp-server.exe
durch die Zeile <absolute-path-to>/sftp-server.exe
.
Es scheint, dass diese Einstellung PATH
auf meiner Seite nutzlos ist.
Zweitens: Kommentieren oder entfernen Sie Zeilen, die mit ForceCommand
„if exists“ beginnen.
Es hilft, die meisten unbekannten Fehler von SFTP-Clients zu beheben. Es gibt jedoch einen Nebeneffekt, dass SSH-Clients CMD als Standard-Shell verwenden.
Um PowerShell als Standard-Shell zu verwenden, bearbeiten Sie die SSH-Clientkonfiguration (normalerweise unter ~/.ssh/config
):
Host <host>
...
RemoteCommand powershell