我的装置是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所有的东西都更新了等等。
我现在想用“测试者”用户来测试这个问题,但我做不到。git克隆测试器@myServer:project工作不应该吗?
如果我尝试以上方法,我会得到:
$ 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对项目的访问-euler拒绝给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 - not tester@server:repo来克隆回购。
另外,如果我有配置文件,我不能以管理员的身份登录。它只作为测试人员登录。也许应该有一种方法来配置这个。谢谢你的帮助。
发布于 2011-08-11 04:02:35
要做的第一件事是检查新用户的公钥是否已发布到gitolite服务器。
tester.pub”文件(这里不要忘记这些公钥以用户的名字命名。:tester.pub )。.ssh中是否有id_rsa和id_rsa.pub。发布于 2011-08-11 17:16:36
您混淆了gitolite用户和linux用户。它们有一些共同的特点,但在另一些方面却有所不同。在连接到gitolite时,您总是使用git中的名为"git“的用户。尽管如此,不管您试图连接的用户是什么,都必须有一个键区(~/..ssh/id_rsa.bar)。假设你是“鲍勃”。您的公钥位于/home/bob/..ssh/id_rsa.bar。该公钥必须添加到珍珠岩配置中。假设您在添加它时将其命名为"foo.pub“。现在,"foo“是一个有效的gitolite用户,您可以在配置中引用它。请记住,在本地用户(bob)、用于连接到gitolite (git)的用户和用于连接gitolite用户(foo)之间没有任何连接,包括隐式或显式连接。唯一的连接是公钥,它将本地机器上的"bob“标识为"foo”到gitolite。
https://stackoverflow.com/questions/7020437
复制相似问题