2011-09-13 39 views
2

我有一個Jenkins的新安裝程序,在Ubuntu的Tomcat6服務器上作爲WAR部署運行。我也有,在同一臺服務器上,併爲我的所有存儲庫安裝Gitosis。Tomcat用戶沒有正確地使用Jenkins和Gitosis中繼SSH密鑰

我一直在努力讓詹金斯構建存儲庫,但在我的回購服務器上獲取Tomcat SSH公鑰設置方面一直不成功。我開始用命令sudo su - tomcat6作爲Tomcat登錄並運行ssh-keygen -t rsa。之後,我將id_rsa.pub鍵複製到gitosis回購中的keydir目錄中。

因此,這裏是我的命令的基本概要:

sudo su - tomcat6 
ssh-keygen -t rsa -C "[email protected]" 
exit # Get back to my user 
sudo cp /usr/share/tomcat6/.ssh/id_rsa.pub ~/gitosis-admin/keydir/[email protected] 

我的下一步是打開的gitosos管理員回購gitosis.conf的文件,並添加我的新用戶作爲回購的管理員:

vim ~/gitosis-admin/gitosis.conf 

gitosis.conf的:

[group buildserver] 
writable = repo-name 
members = [email protected] 

我也有其他成員和回購南e是我真實的回購的名字。然後,我將gitosis-admin回購協議推到了遠程,並從另一個回購用戶處提交了一些數據。

我能夠從其他用戶讀取和寫入我的回購,但是當我嘗試使用Tomcat時出現無法登錄的錯誤。我嘗試再次以Tomcat身份登錄並手動執行git克隆,以便將git服務器的指紋添加到known_hosts中,當我做了克隆時,它向我詢問了我的git用戶密碼。

Soooo我做錯了什麼讓Jenkins SSH密鑰進入Gitosis?

回答

1

問題是我在keydir中命名了我的公鑰tomcat6 @ server,而gitosis要求該文件名稱爲[email protected]才能使用它,即使我拷​​貝了公鑰。

0

它看起來像你缺少一個步驟:

後您的SSH酒館密鑰複製到服務器,您需要將其內容添加到文件中稱爲

authorized_keys 

〜/。 ssh文件夾。只需在您的目標服務器上執行一個簡單的cat id_rsa.pub >> ~/.ssh/authorized_keys,並且您應該可以在沒有密碼的情況下登錄。

這是行不通的?

+0

我不應該那樣做。當我推送到gitosis-admin存儲庫時,Gitosis爲我處理所有這些。出於某種原因,但它並沒有這樣做,如果我手動將它添加到authorized_keys我仍然無法進入。 –

+0

啊。我對Gitosis不太瞭解。我從ssh的角度來看它。你嘗試過'ssh-copy-id'嗎?即使Gitosis沒有這樣做,至少ssh登錄應該工作。 – Sagar

+0

您可以從我的答案中看到我的問題。事實證明,我只是將關鍵命名爲錯誤。 –