Windows OpenSSH 出现“获取致命错误:从 SFTP 服务器收到意外的文件结束” - 最新 OpenSSH 版本的问题

Windows OpenSSH 出现“获取致命错误:从 SFTP 服务器收到意外的文件结束” - 最新 OpenSSH 版本的问题

编辑:嗯,发现了(至少一个)问题。我们设置了一个新的虚拟机并安装了最新版本的适用于 Windows 的 OpenSSH 服务器(v8.9),但它也无法正常运行。它仍在运行的服务器运行的是旧版本 v8.6。我正在确认这是问题所在,并查看我做错了什么导致 8.9 失败。

我一直在使用 OpenSSH for Windows 便携式工具将一些 Windows Server 2012 VM 设置为 SFTP 服务器。我成功完成了大约六次,但遇到了一个问题,我收到错误“严重错误:从 SFTP 服务器收到意外的文件结束”。奇怪的是,这是在基于相同 VM 映像构建的服务器上,尽管比它运行的服务器更旧。这让我认为这是一个奇怪的权限问题。

除了我省略的端口号之外,这些是我对 c:\programdata\ssh\sshd_config 文件所做的自定义更改:

AllowUsers ssh_user
PasswordAuthentication yes
Subsystem   sftp    internal-sftp
ChrootDirectory C:/Output/
SyslogFacility LOCAL0
LogLevel Debug3

我使用 psftp 进行连接,连接成功,但随后出现错误。以下是详细 psftp 命令给出的结果(减去一些敏感信息):

Looking up host "[REDACTED]" for SSH connection
Connecting to [REDACTED] port [REDACTED]
We claim version: SSH-2.0-PuTTY_Release_0.76
Connected to [REDACTED]
Remote version: SSH-2.0-OpenSSH_for_Windows_8.9
Using SSH protocol version 2
No GSSAPI security context available
Doing ECDH key exchange with curve Curve25519 and hash SHA-256 (unaccelerated)
Server also has ecdsa-sha2-nistp256/rsa-sha2-512/rsa-sha2-256 host keys, but we
don't know any of them
Host key fingerprint is:
ssh-ed25519 255 SHA256:QOfqSphtid9jnXb2MWHvPS/6AerXYPQ9YUdhgORny5I
Initialised AES-256 SDCTR (AES-NI accelerated) outbound encryption
Initialised HMAC-SHA-256 (unaccelerated) outbound MAC algorithm
Initialised AES-256 SDCTR (AES-NI accelerated) inbound encryption
Initialised HMAC-SHA-256 (unaccelerated) inbound MAC algorithm
Using username "ssh_user".
Attempting keyboard-interactive authentication
Server refused keyboard-interactive authentication
Sent password
Access granted
Opening main session channel
Opened main channel
Started a shell/command
Connected to [REDACTED]
FATAL ERROR: Received unexpected end-of-file from SFTP server

我有一个来自 ssh 服务器的日志文件,但 StackExchange 认为它是垃圾邮件。它大约有 300 行。

我有点搞不清楚到底是什么原因造成的。其他没有这个问题的虚拟机上的配置文件是相同的。我已授予 ssh 用户帐户对 C:\Output 以及 programdata\ssh 文件夹的完全访问权限(尽管它不需要后者)。我还运行了 OpenSSH 安装附带的权限修复 Powershell 脚本,但它们并没有什么作用,重新安装 OpenSSH 也没有用。

答案1

我遇到过同样的问题,问题出现的原因是密码在 90 天后过期,但日志没有写这个...我通过在同一个“passwd user”上重置密码并通过“passwd -u user”解锁(用目标用户替换用户)来解决这个问题。

请给我反馈。

法语:我也遇到了同样的问题,我需要使用相同的“passwd user”和“passwd -u user”重新初始化密码以解密/解锁。

答案2

遇到了同样的问题,结果服务器找不到配置文件中指定的 sftp-server.exe。

在 C:\ProgramData\ssh\sshd_config 中使用以下行解决了该问题

Subsystem   sftp    C:\Program Files\OpenSSH\sftp-server.exe

相关内容