创建新项目时,在最后一步 gitlab 给我设置我的 repo 的说明,但是 repo 的 URL 不起作用。例如,要添加远程分支,我得到:
git remote add origin git@git.srv.com:root/home.git
Note:
我的 gitlab 实例在一个虚拟机上运行,该虚拟机主机在端口 1122
上转发 SSH 的请求到虚拟机的端口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(添加协议(protocol)和端口)
如果我只是添加一个
ssh://
前缀和服务器端口( :1122/
)一切正常:git remote add manu ssh://git@git.srv.com:1122/root/home.git
最佳答案
调试这种 ssh 访问的最可靠方法是启动 sshd -d
服务器上的 session 并查看输出(它是一次性调试连接)。
请注意 git@git.srv.com:root/home.git
是一个使用 scp syntax 的 url ,这意味着你有 a ~/.ssh/config
file ,带有一个名为 git.srv.com
的条目,它可以引用您的私钥( IdentityFile
),如 this question例如。
您还可以检查其内容以查看它是否包含正确的值(包括正确的端口)
关于configuration - 如何修复在 gitlab 中创建新仓库后给出的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17239673/