2011-10-15 133 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存儲庫。