GitLab需要git @ localhost密码才能推送到repo

Dev*_*inR 16 git ssh gitolite gitlab

我正在尝试让GitLab在我的服务器上运行.我按照gitlab github页面上的安装说明进行操作,一切顺利.

问题是,当我创建一个回购并尝试

sudo git push -u origin master
Run Code Online (Sandbox Code Playgroud)

我被提示输入'git @ localhost的密码:'

git用户没有密码,所以这是一个问题.

其他遇到此问题的人建议在我的sshd conf中添加git给AllowedUsers,但我没有AllowedUsers字段,所以这似乎不是问题.

我仍然是ssh的新手,所以我相信它的某些ssh密钥问题,虽然我试图将所有相关的ssh密钥添加到/home/git/.ssh/authorized_keys并验证文件中没有换行符.

仅供参考,我的安装完全通过了gitlab wiki中提供的测试:

sudo -u gitlab bundle exec rake gitlab:app:status RAILS_ENV=production
Run Code Online (Sandbox Code Playgroud)

任何建议非常感谢!

编辑

所以,我终于通过承诺来自不同机器的回购来解决这个问题.事实上,我被连接到运行gitlab的同一台机器上.一旦我尝试从主机以外的机器提交,它就很有效.因此,对于某些人来说,这可能是一个解决方案(对我们而言,因为我们在单独的机器上开发而不是我们的服务器).

对于任何试图在同一台机器上托管和开发的人来说,这仍然是一个开放性的问题.

Von*_*onC 2

如果安装顺利,这意味着您的 gitlab 能够毫无问题地克隆 gitolite-admin 存储库。
但是你说它通过了状态检查,这意味着你正在使用名为“gitlab”的帐户进行 ssh 连接。

这也意味着任何客户端都必须使用同一帐户“ ”gitlab而不是“ git”进行 ssh。
因此,如果您的 ssh 密钥已通过 gitlab 界面添加,那么您可以 git clone/git push 到远程名称源,该源的地址为“ gitlab@server

要进行更多调试,请查看“设置 Git 远程 SSH (git-upload-pack / git-receive-pack) ”中提到的一些其他提示:

如果您无法在本地推送(在服务器本身,即“localhost”上),请至少尝试:

ssh -vvvT gitlab@localhost
Run Code Online (Sandbox Code Playgroud)

它不需要任何密码,因为/home/gitlab/.ssh/id_rsa/home/gitlab/.ssh/id_rsa.pub两者都存在。