git clone权限被拒绝(gitosis)

时间:2011-10-15 06:13:18

标签: git ssh

我尝试在我的linux-box(Debian)上设置一个git存储库。我想在我的osx Lion上克隆git repo。我安装了gitosis,创建了一个rsa密钥我的电脑(git_rsa),把它放到服务器上,然后是init gitosis。 我有一个〜/ .ssh / config文件,因为ssh端口不是默认端口。我也将git_rsa键添加到我的钥匙串中。 我的〜/ .ssh / config看起来像

主持git

HostName mydomain.com
Port 54321
Identityfile ~/.ssh/git_rsa
User git

当我尝试克隆管理员仓库时:

git clone git:gitosis-admin.git

我给了:权限被拒绝(publickey)。 致命:远程端意外挂断 问题是什么? (密钥被编码为700,ssh与同一密钥完全兼容,但另一个用户)

有人可以给我一个提示,我该如何解决这个问题?

提前致谢。

3 个答案:

答案 0 :(得分:3)

好的,我尝试过gitolite,一切正常。这是方法:

  1. 使用apt-get安装gitolite。
  2. 使用gl-setup命令添加密钥。
  3. 克隆gitolite-admin.git repo。
  4. 不幸的是,我不知道gitosis有什么问题。

答案 1 :(得分:1)

我遇到了这个问题。在全新安装gitosis后,repo gitosis-admin.git的克隆工作得很好。但是,在生成新的RSA密钥对后,使用

重新初始化
sudo -H -u git gitosis-init < id_rsa.pub

我也遇到了上述错误。

比较生成的

中的公钥
id_rsa.pub

和我的gitosis用户的家(git)

/home/git/.ssh/authorized_keys

我注意到,公钥不匹配。

authorized_keys 替换后, id_rsa.pub 的内容有效。

注意:由于authorizeditkeys文件是由gitosis自动生成和更新的,因此您还必须确保公钥文件(在我的情况下为id_rsa.pub)放在 gydosis-admin存储库的keydir 目录。

答案 2 :(得分:0)

我们已经启动并运行了 gitosis 服务器。

正确的命令应该是 -

git clone [server-git-user]@[domain-name.com]:repo.git

所以,

git clone git@mydomain.com:gitosis-admin.git

假设您在服务器中创建了一个名为git的用户,并且在gitosis.conf

中有类似内容的用户
[group gitosis-admin]
members = key_file_name_in_keydir_folder_without_the_pub_extension
writable = gitosis-admin