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:连接被拒绝