重复出现 ssh_exchange_identification:远程主机关闭连接错误 MacOS(每次只能通过重置 ssh 来修复)

重复出现 ssh_exchange_identification:远程主机关闭连接错误 MacOS(每次只能通过重置 ssh 来修复)

我正在通过 Google Cloud 启动多个远程实例,并将scp脚本发送到这些实例以运行它们并将结果scp返回到我的本地计算机。一切开始顺利,但过了一段时间(大约 30 个实例之后),新实例无法将scp文件返回到我的计算机,因为我收到错误:ssh_exchange_identification: Connection closed by remote host。只有在我使用以下命令重置本地计算机的 ssh 后,此错误才会消失:

sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

潜在的问题是什么?我该如何解决它?而不需要不断重置我的 ssh?

答案1

你可能正在运行 sshd最大创业公司限制:

最大创业公司
指定与 SSH 守护进程的最大并发未经身份验证连接数。额外的连接将被丢弃,直到身份验证成功或连接的 LoginGraceTime 到期。默认值为 10:30:100。
或者,可以通过指定三个冒号分隔的值 start:rate:full(例如“10:30:60”)来启用随机早期丢弃。如果当前有 start(10)个未经身份验证的连接,sshd(8) 将以 rate/100(30%)的概率拒绝连接尝试。如果未经身份验证的连接数达到 full(60),概率将线性增加,并且所有连接尝试都将被拒绝。

您可以尝试更改设置。在 MacOS 上,配置文件是/private/etc/ssh/sshd_config

或者,您可以安排将 ssh 连接错开到服务器,这样它们就不会同时进入。

相关内容