gitlab.com SSH 连接超时



我尝试让带有SSH的Gitlab工作,但它不会。

我已经完成了以下步骤:

1 ( 生成 SSH 密钥

ssh-keygen -t rsa -C "myemail@myhoster.com" -b 4096

2 ( 将文件夹/Users/myUserName/.ssh/中的密钥命名为"id_rsa">

3( 复制密钥的方式

pbcopy < ~/.ssh/id_rsa.pub

4( 将密钥插入 GitLab

当我现在尝试克隆存储库时,我收到以下错误:

$ git clone git@gitlab.com:myName/repositoryName/ repoName
Cloning into 'repoName'...
ssh: connect to host gitlab.com port 22: Operation timed out
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

出了什么问题?

我发现自己遇到了同样的问题。

正如Adrian Dymorz所描述的那样,您可以使用以下命令检查您是否可以通过 SSH 访问 Gitlab:

ssh git@gitlab.com

您应该会收到如下响应:

...
Welcome to GitLab, <Gitlab ID Account>!
Shared connection to altssh.gitlab.com closed.

如果没有,那么betarrabara应该解决你的问题,你不应该提供你的id_rsa,而是你的id_rsa.pub

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

GitLab.com 运行第二个SSH服务器,该服务器侦听常用端口443,该端口不太可能被防火墙覆盖。

你需要做的仅仅是编辑你的~/.ssh/config,改变你连接到 GitLab.com 的方式。

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

来源: https://about.gitlab.com/2016/02/18/gitlab-dot-com-now-supports-an-alternate-git-plus-ssh-port/

我尝试了上述方法,但删除了最后一行的 .pub,因为它说格式不正确。它奏效了。

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

你可以试试:

ssh git@gitlab.com

它应该打开一个立即关闭的连接。

如果超时,则可能位于阻止连接的防火墙后面。在这种情况下,您应该添加一个允许您连接的规则。

就我而言,我的 EC2 实例重新启动并且 IP 地址已获得 已更改(由于重新启动(,但我忘记更新我的服务器IP 在".gitlab-ci.yml"文件中。一旦我更新了正确的IP,管道 是成功的。

PS:我正在"与娜娜一起技术世界"课程中练习一个用例。

相关内容

  • 没有找到相关文章

最新更新