远程主机关闭了与 github.com 的连接

远程主机关闭了与 github.com 的连接

问题与报告完全一样

但它是不是“ssh_exchange_identification:”错误,即它与ssh服务器:突然“连接被远程主机关闭”的原因一。

我在做的时候得到它ssh -T

$ ssh -T [email protected]
Connection to github.com closed by remote host.

使用时会生成以下消息ssh -vvv

debug2: channel 0: request shell confirm 1
debug3: send packet: type 98
debug2: channel_input_open_confirmation: channel 0: callback done
debug2: channel 0: open confirm rwindow 32000 rmax 35000
debug3: send packet: type 1
debug1: channel 0: free: client-session, nchannels 1
debug3: channel 0: status: The following connections are open:
  #0 client-session (t4 r43 i0/0 o0/0 fd 5/6 cc -1)
Connection to github.com closed by remote host.

我已将完整日志(以及与正常的差异)放入: https://www.diffchecker.com/LF2ZEb8j

对于,我已将日志差异放入:ssh -vvT [email protected]
https://www.diffchecker.com/WjmA7P0c
从中没有太多的启示。

再次,上述问题来自(连接)我的远程服务器,版本为1:7.6p1-4ubuntu0.7,该服务器已经工作多年,但现在已经中断了几周。从我的家用机器(版本:)进行测试/连接1:8.4p1-5总是没问题。

评论?
是不是我的 openssh-client 1:7.6p1-4ubuntu0.7 对于 github.com 来说太旧了?

$ apt-cache policy openssh-client
openssh-client:
  Installed: 1:7.6p1-4ubuntu0.7
  Candidate: 1:7.6p1-4ubuntu0.7
  Version table:
 *** 1:7.6p1-4ubuntu0.7 500
        500 http://azure.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     1:7.6p1-4ubuntu0.5 500
        500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages 
     1:7.6p1-4 500
        500 http://azure.archive.ubuntu.com/ubuntu bionic/main amd64 Packages

答案1

为我工作

通过 HTTPS 启用 SSH 连接

如果您能够通过 SSH 连接到[email protected]port 443,则可以覆盖您的 SSH 设置,以强制与 GitHub.com 的任何连接通过该服务器和端口运行。

要在 SSH 配置文件中进行设置,请编辑位于 的文件~/.ssh/config,并添加此部分:

Host github.com
Hostname ssh.github.com
Port 443
User git

您可以通过再次连接到 GitHub.com 来测试这是否有效:

$ ssh -T [email protected]
> Hi USERNAME! You've successfully authenticated, but GitHub does not
> provide shell access.

通过 HTTPS 端口使用 SSH

git clone ssh://[email protected]:443/USER_NAME/REPO_NAME.git

答案2

是不是我的 openssh-client 1:7.6p1-4ubuntu0.7 对于 github.com 来说太旧了?

我有一个想法需要验证就在之后我发布了我的问题,结果发现答案是是的

这是我测试/证明的方法

  • 安装debian:latestdocker镜像
  • 在docker 镜像内执行ssh -T [email protected]debian:latest

因此,除了 openssh-client 版本之外,其他所有内容都是相同的,并且它在debian:latestdocker 容器中工作。

相关内容