我正在运行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
答案 0 :(得分:1)
我很欣赏VonC帮助我的尝试。但是,修复只是重新启动计算机并添加几个新的重新生成的密钥。我很肯定我在前几次正确地复制了它们,但最终重新创建了几次密钥。因为它有效,我称之为完成。我明白这不是一个非常令人满意的答案......
答案 1 :(得分:0)
检查ssh -Tvvv git@111.222.333.444
返回的内容,并结合sshd -d
(ssh守护程序的调试会话)
您应该会在git.pub
中看到它以某种方式找不到git
和~git/.ssh
(以用户名命名的公钥和私钥)。
这些公钥和私钥也可以使用其默认名称(id_rsa
和id_rsa.pub
)存储在您的服务器上(~git/.ssh
)。