我尝试让 Gitlab 与 SSH 一起工作,但不行。
我已完成以下步骤:
1)生成 ssh 密钥
ssh-keygen -t rsa -C "[email protected]" -b 4096
2)在文件夹 /Users/myUserName/.ssh/ 中将密钥命名为“id_rsa”
3)通过
复制密钥pbcopy < ~/.ssh/id_rsa.pub
4)将密钥插入gitlab
当我现在尝试克隆存储库时,我收到以下错误:
$ git clone [email protected]: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 [email protected]
您应该收到如下回复:
...
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
在我的例子中,我的 EC2 实例重新启动并且 IP 地址得到 更改(由于重新启动),但我忘记更新我的服务器IP 在“.gitlab-ci.yml”文件中。一旦我更新了正确的 IP、管道 成功了。
PS:我正在练习“Techworld with Nana”课程中的一个用例。
导航到 C:\Users\ .ssh
编辑或创建配置文件
主持人 用户git 港口 运行 ssh -vT