我正在尝试访问 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 [email protected]
,但我收到了消息:
ssh: connect to host gitlab.com port 22: Network is unreachable
我在另一台装有 Ubuntu 20.04 的计算机上尝试过,它成功了。
有人可以帮我吗?
我也有同样的问题。我通过 ssh 连接到远程计算机(VPN 已打开,因为它位于公司内)。从远程计算机上,我尝试 git clone (ssh) 并收到以下错误消息:
git clone [email protected]:<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-替代 git-plus-ssh-port/.
Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab
我现在可以毫无问题地从 GitLab git 克隆 (ssh) 项目。
我永远无法在工作环境中对任何公共 Git 存储库托管服务(github.com、gitlab.com 等)使用 SSH URL。
如果其他服务仍存在问题 (
ssh -Tv [email protected]
),则不允许您使用 SSH URL。使用 HTTPS URL。
但是,如果在同一网络上,另一台服务器确实可以工作,则请仔细检查特定计算机的防火墙规则。一个可能会阻止 SSH,而另一个则不会。
(
ufw status verbose
)
如果您现在无法使用 ssh,您可以使用 HTTPS 代替:
git remote set-url origin <Clone HTTPS address>
我很高兴通过 SSH(带有 WSL2 的 Ubuntu)推送和拉取我的(私人)gitlab 存储库,直到出现此错误。尝试用 google 搜索错误大约 5 分钟后,它又开始工作了!
如果您已成功推送/拉取/克隆并确信这不是防火墙问题,您可能只需要去给自己泡杯咖啡,然后再试一次,然后再在 stackoverflow 上浪费时间!
造成这种情况有几个可能的原因:
1.) 您所在的网络会阻止端口 22 的流量。尝试从其他网络或设备进行连接将是快速测试此问题的最佳方法。
2.) Droplet 上的 ssh 服务未运行。
解决方案:
我已经弄清楚了,我一直尝试连接的服务器需要代理,这解决了问题。但我希望有人能得到帮助。
经过几天的搜索和设置,删除
.ssh
文件并再次设置,我发现问题出在网络上,某些网站被阻止访问,所以我在网络提供商的安全过滤器(如网络)中取消阻止它用于“地址隐藏”或“黑客攻击”。
然后
git clone
和 push
照常工作。
我遇到了同样的问题,我无法通过 Windows PowerShell 终端通过 SSH 连接到 GitLab。 解决方案是通过 VScode 编辑器中的内置扩展使用 HTTPS 访问 GitLab。
我遇到了同样的问题,这是由于使用了访客 wifi 网络。换成正常网络后就可以了。
我将 ssh 地址更改为 https 解决了我的问题。