无法连接到 Windows Server 上的 SFTP

Sci*_*cis 3 windows openssh sftp winscp windows-10

我使用本指南从WinSCP网站安装 OpenSSH 。

我使用了msigithub 页面https://github.com/PowerShell/Win32-OpenSSH/releases上列出的安装程序。

服务器似乎正在运行,但尝试登录后我得到:

---------------------------
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   
---------------------------
Run Code Online (Sandbox Code Playgroud)

在服务器计算机上似乎有一个 sshd 正在运行并侦听端口 22(从 TCPview 复制):

过程 PID 协议 状态 本地地址 本地端口 远程地址 远程端口 创造时间 模块名称
sshd.exe 5844 传输控制协议 0.0.0.0 22 0.0.0.0 0 2022 年 8 月 19 日 6:49:33 下午 sshd
sshd.exe 5844 TCPv6 :: 22 :: 0 2022 年 8 月 19 日 6:49:33 下午 sshd

我没有更改默认值sshd_config

更新:

使用 putty 和相同的用户名和密码可以工作,我可以浏览目录。

这是 putty 与 WinScp 的对比:

putty_vs_winscp

(其中红色和橙色分别是用户名和机器名)

FW规则定义:

防火墙规则

Sci*_*cis 5

问题是它sftp-server.exe不在PATH. 添加安装路径C:\Program Files\OpenSSH并重新启动服务即可Restart-Service sshd解决问题。

我通过设置诊断

SyslogFacility LOCAL0
LogLevel DEBUG3
Run Code Online (Sandbox Code Playgroud)

C:\ProgramData\ssh\sshd_config

并注意到它抱怨没有找到它

subsystem: cannot stat sftp-server.exe: No such file or directory
Run Code Online (Sandbox Code Playgroud)