我第一次问这个问题堆栈溢出有人建议我在这里问:
我们在 VPS 帐户(CPU:2.68GHz RAM:1824MB)上有一个自托管的 git 服务器(Gitolite)。这个 VPS 还用于发布我们正在开发的 Web 应用程序以供客户演示。(流量非常小)。因此,该服务器的主要用途是仅用作 Git 服务器。
一个由 30-40 人组成的团队访问此 git 服务器,用于各种项目。我们的问题是,白天当 6-7 个人尝试访问服务器(有时是同一个存储库)时,我们会频繁收到错误消息:
ssh:连接到主机 xxx.xxx.xx.xx 端口 22:文件编号错误致命:远程端意外挂断
尝试 10-15 分钟后,通常就会成功。
在只有 1-2 个人的清晨和深夜,git 命令的成功率是 100%。另外,我想指出的是,如果我通过 HTTP 访问服务器上托管的其他文件,它可以正常工作。
我在 StackOverflow 和其他网站上找到了几个与此相关的问题。但大多数人都指出了 SSH 密钥设置或 Msysgit 和 Cygns SSH 之间的冲突。
但是,我认为在我们的案例中这不是问题,因为我们在 Windows(仅使用 msysgit)和 Mac 机器上都遇到了这种情况。此外,如果这是 SSH 配置问题,那么它根本就不应该起作用。但在我们的案例中,它在 10-15 分钟后就可以正常工作。
我认为在我们的案例中,可能是对同一服务器(或同一存储库)的并发连接过多或类似情况。是否存在需要修改的设置或配置文件来解决这个问题?
请帮助我解决这个问题或者给我指明正确的方向。
提前致谢。
普里塔姆。
答案1
这完全是瞎猜,但我发现这种情况经常发生在 SSH 服务器在提供交互式 shell 之前提供意外输出时——就我而言,这是我放入其中的东西,.bash_profile
它会通知我是否有现有的屏幕会话正在运行。您的登录脚本中是否有任何可能写入 stdout/stderr 的内容?
答案2
请记住,你只是使用 SSH 连接到 git 服务器来传输数据。实际上有一篇关于github 专门讨论了这个问题,这表明您遇到的问题是由防火墙和/或代理造成的。