Gitlab 6.2在推送到远程库(origin)时要求用户名和密码认证

6
我正在Linux Debian系统上运行 GitLab 6.2,似乎无法通过命令行推送到远程代码库。每次执行 "git push -u origin master" 命令时,都要求输入用户名和密码(已将 origin 添加为 HTTP 远程)。

它是否接受您的GitLab用户名和密码? - Ash Wilson
@AshWilson 是的,它接受用户名/密码组合。 - Valerio Santinelli
2个回答

15

检查您的远程设置是否使用http/https:

$ git remote -v
origin  https://somedomain.com/username/repo.git (fetch)
origin  https://somedomain.com/username/repo.git (push)

如果显示的内容如上所示,请尝试使用ssh进行切换:

$ git remote rm origin
$ git remote add origin git@somedomain.com:username/repo.git

正如你注意到的,我试图使用SSH通过HTTP进行连接。将远程源更改为SSH解决了问题。谢谢! - Valerio Santinelli

0

您需要将密钥添加到服务器上。 如果您使用的是Linux或Mac,可以按照此tutorial进行操作。


我已经完成了。我正在使用与其他系统(如GitHub、另一个在Apache后面运行标准git的框)相同的公钥。 - Valerio Santinelli
好的。你把那个密钥添加到GitLab了吗? - Guillermo Mansilla
确实。如果我查看/home/git/.ssh/authorized_keys的内容,我可以看到我的公钥。 - Valerio Santinelli
你说得对,它保存了用户凭据。我已经将它们删除,现在它正在要求我的用户名和密码,所以即使是 SourceTree 也没有使用 SSH 密钥。顺便说一句,我再次检查了,它是同一个用户。 - Valerio Santinelli
我在SourceTree中没有存储密钥。我存储了用户名/密码组合,这就是我删除它以检查是否可以使用帐户的ssh密钥 :) - Valerio Santinelli
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接