我的设置是ubuntu - gitolite - msysgit。完成本教程后:
https://sites.google.com/site/senawario/home/gitolite-tutorial
一切正常。
所以我修改并提交了 - 推送配置文件:
repo gitolite-admin
RW+ = id_rsa
repo testing
RW+ = @all
repo project-euler
RW+ = tester
Everyhting得到了更新等。
我现在想用“测试者”用户测试这个,但我不能。不应该git clone tester @ myServer:project-euler work?
如果我尝试以上操作,我会得到:
$ git clone tester@192.168.1.3:project-euler
Cloning into project-euler...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
我从我用来管理git的同一台机器上试过这个。
如果我尝试使用它:
git git@192.168.1.3:project-euler
我得到:R-access for project-euler DENIED to id_rsa
我认为这是正常的,因为git用户没有访问权限。
有什么想法吗?
按照@VonC链接后,我按照提到的方式创建了配置文件。我仍然遇到同样的问题,所以我对用户遇到麻烦时的ssh -v很开心。输出是:
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Reading configuration data /c/Users/Stefanos/.ssh/config
debug1: Applying options for 192.168.1.3
debug1: Connecting to 192.168.1.3 [192.168.1.3] port 22.
debug1: Connection established.
debug1: identity file /c/Users/Stefanos/.ssh/tester type 1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.8p1 Debian-1ubuntu3
debug1: match: OpenSSH_5.8p1 Debian-1ubuntu3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host '192.168.1.3' is known and matches the RSA host key.
debug1: Found key in /c/Users/Stefanos/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /c/Users/Stefanos/.ssh/tester
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).
更新
我设法使用git clong git @ server:repo克隆了repo - 而不是tester @ server:repo。
此外,如果我有配置文件,我无法以管理员身份登录。它只记录为测试人员。可能应该有一种方法来配置它。谢谢你的帮助。
答案 0 :(得分:1)
首先要检查新用户的公钥是否已发布到gitolite服务器。
tester.pub
”文件(不要忘记those public keys are named after the user:tester.pub
这里).ssh
id_rsa
和id_rsa.pub
。答案 1 :(得分:0)
你对gitolite用户和linux用户感到困惑。它们具有一些共同特征,但在其连接到gitolite时,总是在git URL中使用名为“git”的用户。无论如何,无论您尝试连接的用户是否必须拥有密钥对(〜/ .ssh / id_rsa [.pub])。所以,让我们说你是“鲍勃”。您的公钥位于/home/bob/.ssh/id_rsa.pub。必须将该公钥添加到gitolite配置中。假设您在添加它时将其命名为“foo.pub”。现在“foo”是一个有效的gitolite用户,您可以在配置中参考。请记住,本地用户(bob),用户连接到gitolite(git)和gitolite用户(foo)之间没有隐式或显式连接。唯一的连接是公钥,它将本地计算机上的“bob”标识为gitolite的“foo”。