当我ssh
到 windows 框时,有时找不到路径上的程序,或者我得到ssh_exchange_identification: read: Connection reset by peer
了,通常是在发生超过 10 个同时连接时(Windows 框是构建服务器)。如果我强制超过 15 个同时连接,这会可靠地发生。该问题可靠地发生,与我连接的位置无关
这是我在强制多个同时连接时看到的内容:
$ for i in `seq 1 20`; do ssh -x bdedev-pw-530 'which /usr/bin/env' 2>&1 |tee log.$i || echo FAILED& done; wait 2> /dev/null
[1] 21492
[2] 21494
[3] 21496
[4] 21500
[5] 21506
[6] 21514
[7] 21519
[8] 21522
[9] 21525
[10] 21527
[11] 21532
[12] 21535
[13] 21539
[14] 21548
[15] 21552
[16] 21557
[17] 21561
[18] 21565
[19] 21572
[20] 21576
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
/usr/bin/env
/usr/bin/env
/usr/bin/env
/usr/bin/env
/usr/bin/env
/usr/bin/env
/usr/bin/env
/usr/bin/env
/usr/bin/env
/usr/bin/env
/usr/bin/env
/usr/bin/env
/usr/bin/env
/usr/bin/env
/usr/bin/env
/usr/bin/env
如您所见,大多数时候/usr/bin/env
都可以找到,但有时不会。有时,该失败与ssh_exchange_identification: read: Connection reset by peer
错误相关,但并非在所有情况下都如此。
有什么建议么?我能做些什么来获得更多调试信息来帮助追踪这个问题?
我在ssh-host-config
Windows Server 2019 主机上运行 cygwin 的 sshd(通过 安装),运行 cygwin DLL 版本:3.3.4,以及最新的 ssh 包(截至几周前:)OpenSSH_8.8p1, OpenSSL 1.1.1m 14 Dec 2021
。
服务器有 28 个物理内核(56 个逻辑内核)和超过 512GB 的内存,所以我怀疑这不是内存或 CPU 问题。
我没有为CYGWIN
变量设置 binmode 和 ntsec 。