截至 2 天前,scp
对于大于 ~200 KB 的文件,我尝试将文件从笔记本电脑传输到服务器始终失败,并出现错误“client_loop: send disconnect: Broken pipe”这恰逢我的笔记本电脑升级到 MacOS 11.3(从 11不管之前是什么)。
$ dd if=/dev/urandom of=test.dat count=400 2> /dev/null && ls -l test.dat && scp test.dat $DST
-rw-r--r-- 1 xxxx staff 204800 Apr 28 11:27 test.dat
test.dat 0% 0 0.0KB/s --:-- ETAclient_loop: send disconnect: Broken pipe
lost connection
这绝对是新的,因为我几乎每天都在使用 scp 并且在更新之前从未遇到过问题。这种行为在我用作目标的 2 个不同的服务器架构(NAS 和 Raspberry Pi - 以排除偶然的服务器配置错误)以及使用我的 Linux 桌面作为客户端(也没有问题)上也可见。同样奇怪的是,无论是普通 SSH 还是 Homebrew SSH 安装都出现了问题,这暗示了 SSH 客户端配置问题或网络堆栈中的错误。我很好奇是否有其他人在观察同样的问题。sftp
表现出同样的问题。
在服务器端,这是我在日志中得到的:
May 1 23:27:27 myhost sshd[21774]: Bad packet length 116136902.
May 1 23:27:27 myhost sshd[21774]: ssh_dispatch_run_fatal: Connection from user pi XXX.XXX.XXX.XXX port 59948: Connection corrupted
PS 解决此问题的一种 [非常不完美] 方法是使用足够低的带宽限制(-l
选项),但这并不是很好,因为它会使传输速度非常缓慢。