尝试通过SSH进行克隆,但出现管道断开错误

时间:2018-09-20 00:44:47

标签: git

由于一个奇怪的问题,我在尝试git clone我的一个公共GitHub存储库中遇到一些奇怪的问题。我知道这与我的密钥无关,因为我已经从另一台VM取得了相同的密钥,只是简单地修复了它的权限。这是我尝试使用SSH时遇到的错误:

[root:kali:~/scripts]# ssh -T git@github.compacket_write_wait:
Connection to 192.30.253.112 port 22: Broken pipe

建议1

参考:https://gitlab.com/gitlab-com/support-forum/issues/129

试图将以下内容添加到/etc/ssh/ssh_config文件中:

Host *
ServerAliveInterval 120
TCPKeepAlive no

也没有运气。我什至尝试将TCPKeepAlive更改为yes,并且发生相同的事情。

我的DNS服务器设置为8.8.8.8,所以不太确定这是问题所在。我可以git clone http URL,而不是SSH URL。

建议2

我还尝试使用verbose选项运行ssh命令,根据输出,看起来它实际上已成功认证,如下所示:

debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: Authentication succeeded (publickey).
Authenticated to github.com ([192.30.253.113]:22).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: pledge: network
debug1: Sending environment.
debug1: Sending env LANG = C.UTF-8
debug1: Sending env LC_CTYPE = C.UTF-8
packet_write_wait: Connection to 192.30.253.113 port 22: Broken pipe

你知道这里还有什么问题吗?

5 个答案:

答案 0 :(得分:15)

我不知道这个人是谁,但是保佑他!这对我有用:http://blog.bchoy.me/2018/09/11/vmware-ssh-bug/

Host *
   ServerAliveInterval 600
   TCPKeepAlive yes
   IPQoS=throughput

他有一些有关IPQoS参数的讨论的链接,该参数已为我修复。

答案 1 :(得分:7)

没关系。将网络接口从NAT切换到桥接模式,现在一切正常。疯了。

答案 2 :(得分:1)

解决方案

@ScottCrunkleton为我准备了the right answer,但我并不需要他列出的所有设置。最低限度地,我只需要在~/.ssh/config中进行设置:

Host *
   IPQoS=throughput

关于IPQoS的信息

这解决了我的问题,但是然后我只想知道IPQoS是什么。我在任何地方都找不到简单的解释(该线程是ipqos上的热门话题),但至少有一些信息。

  • ssh_config man page描述了我们在上面设置的IPQoS选项,并列出了其所有有效值。
  • OP的Debian docs describe troubleshooting a similar situation。对于他们的情况,他们建议

    Host *
        IPQoS=0x00
    

    作为解决方案。不知道有什么区别。

  • 最后,openssh specifications page列表具有规范RFC8325,该规范详细描述了QoS(服务质量)。并非如此简单,但据我所知,在连接时,openssh服务器的现代版本将传达ToS(服务类型),它必须以某种方式与客户的服务保持一致。 QoS设置。

答案 3 :(得分:0)

尝试关闭您的VPN。它对我有用。

答案 4 :(得分:0)

我在macOS 10.15.6上遇到了同样的错误。一种怪异的转折是我可以通过打开VPN来解决该错误。我看到其他人who use AT&T fiber也有这个问题。

对我来说,解决方法是将其添加到〜。/ ssh / config

Host github.com
  IPQoS 0x00

设置IPQoS=throughput对我不起作用。修复工作归功于@tel