首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能用新用户克隆git存储库

不能用新用户克隆git存储库
EN

Stack Overflow用户
提问于 2011-08-11 03:15:54
回答 2查看 2K关注 0票数 1

我的装置是ubuntu - gitolite msysgit。在遵循本教程之后:

https://sites.google.com/site/senawario/home/gitolite-tutorial

一切都很好。

因此,我修改并提交了配置文件:

代码语言:javascript
复制
repo    gitolite-admin
        RW+     =   id_rsa

repo    testing
        RW+     =   @all

repo    project-euler
        RW+     =   tester

所有的东西都更新了等等。

我现在想用“测试者”用户来测试这个问题,但我做不到。git克隆测试器@myServer:project工作不应该吗?

如果我尝试以上方法,我会得到:

代码语言:javascript
复制
$ git clone tester@192.168.1.3:project-euler
Cloning into project-euler...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

我从我以前管理git的机器上试过这个。

如果我想用这个:

代码语言:javascript
复制
git git@192.168.1.3:project-euler

我得到:r对项目的访问-euler拒绝给id_rsa

这是正常的,因为git用户没有访问权限。

有什么想法吗?

在遵循@VonC链接之后,我创建了前面提到的配置文件。我仍然有同样的问题,所以我与遇到麻烦的用户一起玩ssh -v。产出如下:

代码语言:javascript
复制
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来克隆回购。

另外,如果我有配置文件,我不能以管理员的身份登录。它只作为测试人员登录。也许应该有一种方法来配置这个。谢谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-11 04:02:35

要做的第一件事是检查新用户的公钥是否已发布到gitolite服务器。

  • 检查~git/..ssh/authorizedkeys的内容,并查找其中包含测试人员的一行
  • 检查gitolite admin/keydir的内容,并查找包含公钥的“tester.pub”文件(这里不要忘记这些公钥以用户的名字命名。tester.pub )。
  • 检查测试人员在他/她的.ssh中是否有id_rsaid_rsa.pub
票数 1
EN

Stack Overflow用户

发布于 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。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7020437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档