Configuration 如何修复创建新回购协议后给出的URL';gitlab里有什么?
创建新项目时,在最后一步,gitlab会指示我设置repo,但repo的URL不起作用。例如,要添加远程分支,我得到:Configuration 如何修复创建新回购协议后给出的URL';gitlab里有什么?,configuration,ssh,gitlab,Configuration,Ssh,Gitlab,创建新项目时,在最后一步,gitlab会指示我设置repo,但repo的URL不起作用。例如,要添加远程分支,我得到: git remote add origin git@git.srv.com:root/home.git 注意:我的gitlab实例运行在一台虚拟机上,主机将SSH在端口1122上的请求转发到VM的端口22。因此,本地gitlab可以到达端口22 给定的URL不起作用 推 不断询问密码。我的SSH密码和我的帐户密码都不起作用: git push -u manu master
git remote add origin git@git.srv.com:root/home.git
注意:
我的gitlab实例运行在一台虚拟机上,主机将SSH在端口1122
上的请求转发到VM的端口22
。因此,本地gitlab可以到达端口22
给定的URL不起作用
推
不断询问密码。我的SSH密码和我的帐户密码都不起作用:
git push -u manu master
Password:
Password:
Password:
Permission denied (publickey,keyboard-interactive).
fatal: The remote end hung up unexpectedly
克隆
此处相同,继续提示输入密码:
git clone git@git.srv.com:1122/root/home.git
Cloning into 'home'...
Password:
修复URL(添加协议和端口)
如果我简单地向服务器添加ssh://
前缀和端口(:1122/
),一切都会顺利进行:
git remote add manu ssh://git@git.srv.com:1122/root/home.git
调试这种ssh访问最可靠的方法是在服务器上启动
sshd-d
会话并查看输出(这是一个一次性调试连接)
请注意git@git.srv.com:root/home.git
是一个url,它使用一个名为git.srv.com
的条目,可以引用您的私钥(IdentityFile
),例如。您还可以检查它的内容,看看它是否包含正确的值(包括正确的端口)SSH工作正常,但gitlab接口不显示端口
1122
,因此给出的URL构建不正确。我在我的/home/git
目录中没有任何~/.ssh/config
文件,我会检查。@EdouardLopez我确认,如果客户端没有~/.ssh/config
(不是在服务器git
帐户上,而是在您尝试用ssh连接到gitlab服务器的机器上),像xxx:yyy
(带有“:
”)这样的语法不起作用。我正在寻找服务器端solution@EdouardLopez但是您的git clone命令是在客户端完成的,对吗?因此,我之前的评论是这样的。是的,但我相信服务器端解决方案会更加可靠