我尝试通过SSH使Gitlab正常运行,但不成功。
我已完成以下步骤:
1)生成ssh-key
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.
出了什么问题?
答案 0 :(得分:2)
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
来源:https://about.gitlab.com/2016/02/18/gitlab-dot-com-now-supports-an-alternate-git-plus-ssh-port/
答案 1 :(得分:0)
您可以尝试:
UPDATE PriceTable
SET DateTo = (SELECT ISNULL(DATEADD(d, -1, MIN(DateFrom)), GETDATE())
FROM PriceTable P2
WHERE P2.ItemId = P1.ItemId
AND P2.DateFrom > P1.DateFrom)
FROM PriceTable P1
它应该打开一个立即关闭的连接。
如果超时,则可能是在阻止连接的防火墙后面。在这种情况下,您应该添加一条规则以进行连接。
答案 2 :(得分:0)
我发现自己遇到了同样的问题。
如 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 strong>代替:
Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa.pub
最后,如果您的问题得到解决,我认为您应该接受答复。
注意:发表评论是在这里强调我观点的一种更好的方法,但我不能。
答案 3 :(得分:0)
我尝试了上述方法,但是在最后一行删除了.pub,因为它说的格式不正确。而且有效。
Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa