2011-10-15 216 views
1

我尝试在我的linux-box(Debian)上安装一个git仓库。我想克隆我的osx Lion上的git repo。我安装gitosis,创建一个rsa密钥我的电脑(git_rsa),把它放到服务器,并初始化gitosis。 我有一个〜/ .ssh/config文件,因为ssh端口不是默认的。我也将git_rsa键添加到我的钥匙串中。 我的〜/ .ssh/config中看起来像git克隆权限被拒绝(gitosis)

主机混帐

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

当我尝试克隆管理员回购:

git clone git:gitosis-admin.git 

我放弃:权限被拒绝(公钥)。 致命:远端意外挂断 问题出在哪里? (关键是chmoded到700和ssh是完全相同的密钥,但另一个用户的工作)

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

在此先感谢。

+0

你的服务器上有一个'git'帐户,对不对?它的'/ home/git/.ssh/authorized_keys'具有'git_rsa.pub'内容吗? – VonC

+0

是的,我有git帐户和authorized_keys有git_rsa.pub内容。 – hcpeter

+2

出于好奇,为什么gitosis(已过时)而不是gitolite? https://github.com/sitaramc/gitolite – VonC

回答

3

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

  1. 安装gitolite与apt-get
  2. 使用gl-setup命令添加密钥。
  3. 克隆gitolite-admin.git回购。

不幸的是我不知道gitosis有什么问题。

+0

所以......再次,正确的答案是:gitolite,而不是gitosis:http://stackoverflow.com/questions/7591958/how-to-change-gitosis-default-search-path/7592421#7592421 – VonC

+0

@VonC我不这么认为 – Rifat

0

我们有我们自己的gitosis服务器启动并运行。

正确的命令应该是─

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

所以,

git clone [email protected]:gitosis-admin.git 

假设你已经创建了一个称为服务器git用户有一些像你gitosis.conf

以下
[group gitosis-admin] 
members = key_file_name_in_keydir_folder_without_the_pub_extension 
writable = gitosis-admin 
+0

我很好奇gitosis有什么问题,所以我尝试修改gitosis.conf,但没有帮助。我这样做就像你写的一样... – hcpeter

+0

你试过'git clone [email protected]:gitosis-admin.git'后得到了什么? – Rifat

+0

权限被拒绝(publickey)。我将公钥更改为另一个公钥。看来gitolite将成为我的解决方案。 – hcpeter

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 

我注意到,该公共密钥不匹配。

id_rsa.pub内容替换钥匙的authorized_keys后它的工作。

注:因为authorized_keys文件自动生成和更新的gitosis,你还必须确保,公共密钥文件(在我的情况id_rsa.pub)被放置在keydir目录gitosis-admin存储库。