Configuration 如何修复创建新回购协议后给出的URL';gitlab里有什么?

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

创建新项目时,在最后一步,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                                        
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命令是在客户端完成的,对吗?因此,我之前的评论是这样的。是的,但我相信服务器端解决方案会更加可靠