试图通过SSH进行git克隆,但出现断管错误

试图通过SSH进行git克隆,但出现断管错误,git,Git,由于一个奇怪的问题,我在尝试git克隆我的一个公共GitHub存储库时遇到了一些奇怪的问题。我知道我的密钥没有问题,因为我从另一个VM获取了相同的密钥,只是简单地修复了它的权限。这是我在尝试使用SSH时遇到的错误: [root:kali:~/scripts]# ssh -T git@github.compacket_write_wait: Connection to 192.30.253.112 port 22: Broken pipe 建议1 参考: 试图将以下内容添加到/etc/ssh/s

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

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

参考:

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

Host *
ServerAliveInterval 120
TCPKeepAlive no
没有运气。我甚至尝试将
TCPKeepAlive
更改为
yes
,同样的情况也发生了

我的DNS服务器设置为
8.8.8.8
,因此不太确定这是问题所在。我可以git克隆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

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

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

我不知道这家伙是谁,但祝福他!这对我很有用:

把这个放到你的
~/.ssh/config

Host *
   ServerAliveInterval 600
   TCPKeepAlive yes
   IPQoS=throughput
他有一个关于IPQoS参数讨论的链接,这为我解决了这个问题。

解决方案 @crunk1为我准备了,但我不需要他列出的所有设置。至少,在
~/.ssh/config
中,我只需设置:

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

  • 描述了我们在上面设置的
    IPQoS
    选项,并列出了它的所有有效值
  • 他们建议,在他们的情况下

    Host *
        IPQoS=0x00
    
    作为解决办法。不知道有什么区别

  • 最后,列表有一个规范,它详细描述了
    QoS
    (服务质量)。不是那么简单,但从我所能收集到的想法是,在连接上,
    openssh
    服务器的现代版本将与
    ToS
    (服务类型)进行通信,这在某种程度上必须与客户端的
    QoS
    设置保持一致

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

我在macOS 10.15.6上也有同样的错误。一个奇怪的转变是,我可以通过打开VPN来解决错误。我看到其他一些人也有这个问题

我的解决办法是将它添加到~./ssh/config

Host github.com
  IPQoS 0x00

设置
IPQoS=throughput
对我不起作用。修复的功劳归谁。

ssh-Tgit@github.com
怎么说?它应该显示您已识别的登录名(由您的公钥识别)。@peterh出于某种非常奇怪的原因被证明是我的网络连接。谢谢你!在将回购协议推到github的背景下,这对我来说很有效。我在~/.ssh/config中添加了IPQoS=throughput。在我的情况下,我必须关闭WiFi并再次打开。互联网的其他部分都在工作,包括fast.com,但由于某些原因,GitHub操作都不起作用。这真是太疯狂了,它也应该在NAT上工作。也许你的kali或主机系统上可能存在一些棘手的防火墙配置。这也帮助了我。链接是404,因此对于那些想知道的人,应该将上面的行放在以下文件中:~/.ssh/configSame error。不知何故(我猜想是神赐的恩典)上面的故事神奇地解决了这个问题。我想知道怎么做,但我敢问吗?我不确定VMWare networking是如何处理事情的,但这里有一些关于QoS的信息:我对一台新笔记本电脑(macOs Catalina)也有同样的问题。在尝试使用ssh进行git克隆之后,我遇到了断管错误。使用这些设置创建一个新的配置文件解决了这个问题!这在MacOS Big Sur上对我很有效。Git克隆已经工作得很好,只是停在一个for循环中试图克隆几个副本…我当时正在努力解决这个问题。这是可行的,但我宁愿不关闭vpn,而是尽可能解决这个问题。Windows操作系统呢?