ssh:连接到主机 gitlab.com 端口 22:网络不可达

Posted

技术标签:

【中文标题】ssh:连接到主机 gitlab.com 端口 22:网络不可达【英文标题】:ssh: connect to host gitlab.com port 22: Network is unreachable 【发布时间】:2021-03-25 16:31:45 【问题描述】:

我正在尝试访问 Gitlab 服务器以克隆 Ubuntu 20.10 计算机中的存储库,但我总是收到以下消息:

ssh: connect to host gitlab.com port 22: Connection timed out
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

所以,我尝试运行命令ssh -T git@gitlab.com,但我收到了消息:

ssh: connect to host gitlab.com port 22: Network is unreachable

我已经在另一台装有 Ubuntu 20.04 的计算机上进行了尝试,并且成功了。

有人可以帮我吗?

【问题讨论】:

您所在的网络是否可能阻塞了端口 22 上的流量? 我已经在我的电脑上打开了 22 端口。 它可能在您的计算机上打开,但您所在的网络是否可能阻止端口 22 上的流量? 我也是这么想的,但是我用同一​​个门在github上连接了,它正在工作。 我也有同样的问题。几天来我一直在避免使用 HTTPS,但似乎这是我唯一的选择 【参考方案1】:

我永远无法在工作环境中对任何公共 Git 存储库托管服务(github.com、gitlab.com、...)使用 SSH URL。

如果其他服务 (ssh -Tv git@github.com) 仍然存在此问题,则不允许您使用 SSH URL。使用 HTTPS URL。

但是,如果在同一网络上,另一台服务器确实可以工作,那么请仔细检查您的特定计算机的防火墙规则。一种可能会阻止 SSH,而另一种则不会。 (ufw status verbose)

【讨论】:

我已经启用了 ssh 和 22 端口,它仍然是一样的。在github上它可以正常工作。不幸的是,另一台计算机不在同一个网络上,并且gitlab url不一样。为了检查网络,我尝试了开启和关闭 ***,但没有成功。 @LuisFelipe 所以你的机器,你可以通过SSH联系github,但不能联系gitlab.com? 基本上,是的。但我需要两者,一个用于我的工作回购,另一个用于个人和其他工作。 @LuisFelipe 你能 ping gitlab.com 吗? Gitlab ping 正常。我需要的 gitlab URL 是公司的,在 gitlab 域中。【参考方案2】:

这有几个可能的原因:

1.) 您所在的网络阻止了到端口 22 的流量。尝试从另一个网络或设备进行连接是快速测试此问题的最佳方法。

2.) 您的 Droplet 上的 ssh 服务未运行。

解决方案:

    您可以在文件 /etc/ssh/sshd_conf 中更改您的 ssh 服务侦听的端口,也可以使用其他网络来测试此问题的解决方案。 重新配置您的 SSH 密钥。

【讨论】:

【参考方案3】:

我想通了,我一直在尝试连接的服务器需要一个代理,这解决了这个问题。但我希望有人能从中得到帮助。

【讨论】:

【参考方案4】:

我很高兴通过 SSH(带有 WSL2 的 Ubuntu)推送和拉取我的(私人)gitlab 存储库,直到出现此错误。在尝试用谷歌搜索错误大约 5 分钟后,它又开始工作了!

如果您已成功推送/拉取/克隆并确信这不是防火墙问题,那么您可能只需要去给自己泡杯咖啡,然后再试一次,以免浪费时间在 *** 上!

【讨论】:

【参考方案5】:

我遇到了同样的问题,我无法通过 Windows PowerShell 终端通过 SSH 连接到 GitLab。 解决方案是使用 HTTPS 通过 VScode 编辑器中的内置扩展访问 GitLab。

【讨论】:

【参考方案6】:

我有同样的问题。我通过 ssh 连接到远程机器(*** 已打开,因为它位于公司内)。从远程机器我尝试 git clone (ssh) 并收到以下错误消息:

git clone git@gitlab.com:<project-name>.git
Cloning into '<project-name>'...
ssh: connect to host gitlab.com port 22: Network is unreachable
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

以下解决方案有效。我在远程机器的 ssh-config 中添加了以下内容,这里有描述:https://about.gitlab.com/blog/2016/02/18/gitlab-dot-com-now-supports-an-alternate-git-plus-ssh-port/。

Host gitlab.com
  Hostname altssh.gitlab.com
  User git
  Port 443
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/gitlab

我现在可以毫无问题地从 GitLab git clone (ssh) 项目。

【讨论】:

以上是关于ssh:连接到主机 gitlab.com 端口 22:网络不可达的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 SSH 连接到服务器,在 Windows 10 中显示“ssh:连接到主机 178.128.60.26 端口 22:连接超时”[关闭]

ssh:连接到主机 ssh.github.com 端口 443:连接被拒绝

ssh 连接到主机端口 22 连接被拒绝

连接到 gitlab 时使用 ssh 面临身份验证失败

ssh 服务器连接到主机 xxx 端口 22:linux-ubuntu 上的连接超时

Git 问题:“ssh:连接到主机 gitlab 端口 22:连接被拒绝”