我正在运行 gitlab,它在中央存储库 Ubuntu 机器上使用 gitolite,并且有几个用户在通过 Gitlab 的 Web 界面添加公共 SSH 密钥后连接到这台机器。自己机器上的不同用户可以成功地从中央存储库机器上推送和拉取。在机器本身上,我无法让用户推送或拉取到中央存储库。它总是要求输入 git 的密码!我怎样才能解决这个问题?

在注册了 SSH 密钥的远程计算机上,我得到:

myusername@ubuntu:~$ ssh -T git@111.222.333.444
hello my_username_gmail_com_1348772800, this is gitolite v2.2-11-g8c4d1aa-dt running on git 1.7.0.4
the gitolite config gives you the following access:
     R   W  repo1
     R   W  repo2
    @R_ @W_ testing
     R   W  repo3

它仅在服务器本身上失败,其中(即使我注册了 SSH 密钥)我总是提示输入密码:

serverusername@server:~$ ssh -T git@111.222.333.444
git@111.222.333.444's password: 

以下是 ssh -Tvvv 调试打印的输出: http://pastebin.com/zrNzvzRE

有帮助吗?

解决方案

我很欣赏Vonc的尝试帮助我。但是,修复程序只是重新启动机器并添加几个新的再生密钥。我是积极的,我将它们正确复制了他们的前几次,但最终重新创建了几次重新创建关键。因为它曾经打电话给它完成了。我明白这不是一个非常令人满意的答案...

其他提示

检查什么 ssh -Tvvv git@111.222.333.444 返回,结合 sshd -d (ssh 守护进程的调试会话)

你应该看到它不知何故找不到 git.pubgit (以用户名命名的公钥和私钥)在您的 ~git/.ssh.
这些公钥和私钥也可以以其默认名称存储(id_rsaid_rsa.pub)在您的服务器上(~git/.ssh).

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top