我用FlashFXP连接freeSSHd创建的SFTP服务器,报错如下,SFTP服务已经正常开启,如何解决:
[16:42:26][R]正在连接到 SFTP228 ->IP=127.0.0.1 PORT=26
[16:42:26][R]已连接到 SFTP228
[16:42:26][R]主机密钥算法 ssh-rsa, size 1024 bits.
[16:42:26][R]指纹(SHA256): W7KOfJQ9s8|+T+DUE5WWOTOI1FNrWZZ3EXK5cT8r34E=
[16:42:26][R]密钥交换: diffe-helman-group1-sha1.会话加密: aes256-ctr,MAC: hmac-sha1,压缩: none.
[16:42:26][R]Auth Type: Password
[16:42:26][R]身份验证失败[未知用户或密码无效]
[16:42:26][R]SSH 错误: 协商认证模式失败
[16:42:26][R]SSH 连接已关闭
[16:42:27][R]连接失败
核心结论
日志:身份验证失败 [未知用户或密码无效],不是加密算法协商失败(算法已经协商完了),是 freeSSHd 用户配置本身错了;你看到的 “协商认证模式失败” 是认证被拒后的收尾提示。
已经正常完成:TCP 连接、主机密钥、Kex (diffe-helman-group1-sha1)、加密 MAC 全部协商成功,走到密码认证环节被服务器直接拒绝账号。
1、最常见坑:freeSSHd 用户认证类型选错(重点!)
打开 freeSSHd → Users → 编辑你的账号:
典型错误:选了 NT authentication,但你填的不是 Windows 账号;或者反过来,选了内置密码,却填 Windows 密码。
并且这个用户 必须勾选 SFTP!只开 Shell 是不能传文件的,一定会认证拒绝 / 无权限。
2、Authentication 选项卡检查(密码登录开关)
切换到 Authentication:
3、必须管理员运行 freeSSHd
freeSSHd 如果普通用户打开,保存的用户配置不会真正写入服务,看起来配置好了,实际服务读取不到用户列表,直接报未知用户。
✅ 关闭托盘里 freeSSHd → 右键 freeSSHd 图标,以管理员身份运行,重新添加 / 编辑用户、保存、Apply。
如果你是安装成 Windows 服务(freeSSHDService),改完 GUI 配置后,要去服务里重启 freeSSHDService。
4、FlashFXP 连接参数确认
建议先拿 WinSCP 用同样账号端口测试,用来区分是 FlashFXP 问题还是 freeSSHd 服务问题。WinSCP 对老 SSH 算法兼容性比新版 FlashFXP 更好。
5、补充:你这套加密套件是老旧弱算法(1024bit RSA、group1-sha1)
freeSSHd 是很老的软件,内置算法非常老旧,现代新版 SSH 客户端默认已经移除 diffie-hellman-group1-sha1。
你当前这次碰巧协商成功了,但是后续 FlashFXP 升级后会直接连不上:
- FlashFXP 设置 → 高级 SSH 选项,手动勾选启用老旧 Kex 算法:
diffie-hellman-group1-sha1
安全提醒:仅内网测试用,公网不建议继续用 freeSSHd,优先换 Windows OpenSSH 内置 SFTP 服务。
快速排查顺序(照着做)
管理员打开 freeSSHd,进入 Users,核对账号认证类型、勾选 SFTP
Authentication 标签确认密码认证允许
重启 freeSSHd 服务 / 退出重进托盘程序
WinSCP 同参数测试;WinSCP 能连 = FlashFXP 兼容性问题;WinSCP 也报账号错 = freeSSHd 账号配置问题
核对账号密码大小写、无多余空格
额外坑点
Windows 本地账号如果有密码为空:NT 认证模式下 freeSSHd 直接拒绝,不支持空密码登录
Windows 账号开启【下次登录必须改密码】、账号锁定:NT 认证模式直接认证失败
SFTP 根目录 NTFS 权限:用户至少读取 + 写入权限(这个一般不会报 “未知用户”,而是登录成功后进目录报错)
我们应该用 Windows 自带 OpenSSH SFTP 等其他更为安全的搭建方案,替代老旧 freeSSHd,不用碰这些弱加密兼容问题。
一句话结论
freeSSHd 本身是一个早已停止维护、有大量已知内存漏洞 / DoS 漏洞的老旧软件(CVE-2024-0723、缓冲区溢出),你这个现象:文件上传收尾(SFTP close/rename 包)直接触发程序崩溃,属于它原生 BUG,没有可靠根治补丁,只能临时缓解,长期方案直接换成 Windows 自带 OpenSSH Server。
它的代码在 SFTP 完成写入、关闭文件句柄、重命名临时文件的阶段内存处理有缺陷,只要 FlashFXP 这种客户端上传完毕发送收尾包,直接进程闪退,不是权限、磁盘、端口问题。
该评论在 2026/11/3 17:10:21 编辑过