2015-04-22 149 views
3

我試圖用ssh設置jit與git。用ssh設置jenkins與git

標準執行:將密碼repositorium是我的硬盤上克隆

git clone ssh://[username]@[server]/srv/git/[repo] 

後。

現在對詹金斯

ssh://[username]@[server]/srv/git/[repo].git 

Failed to connect to repository : Command "git -c core.askpass=true ls-remote -h ssh://[username]@[server]/srv/git/[repo].git HEAD" returned status code 128: 
stdout: 
stderr: Permission denied, please try again. 
Permission denied, please try again. 
Permission denied (publickey,password). 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 
and the repository exists. 

enter image description here

enter image description here

或另一種方式是 enter image description here

回答

1

你通過SSH,這可能意味着你已經有了一個關鍵的連接基於登錄的登錄設置,以便您無需密碼即可連接。 (把〜/ .ssh/id_rsa移到其他位置,我敢肯定你也會在你做git克隆的時候被要求輸入密碼。)

在這種情況下,錯誤是詹金斯沒有類似的私人密鑰設置。您必須爲jenkins生成公鑰/私鑰對,並將公鑰添加到您的git服務器,或將您的私鑰添加到Jenkins。

相關問題&答案:https://stackoverflow.com/a/8911280/223981

1

我有同樣的錯誤報告,而我是用一種「用私鑰SSH用戶名」的憑證。對於私鑰,我選擇了「從詹金斯大師的文件」並作爲文件位置~/.ssh/some-project-specific-directory/id_rsa提供。

事實證明,Jenkins版本1.637在代字符首頁符號方面存在問題(「~」)。在我改爲擴展的絕對路徑後(例如/var/lib/jenkins/.ssh/some-project-specific-directory/id_rsa),一切都很順利。

-2

當您添加ssh密鑰時,只需在「密碼」部分添加密碼,因爲您擁有私鑰,但仍需要密碼才能連接到回購。

See the image below

1

在我們的環境中,多從配置的問題是與主。基本上我們的奴隸被配置爲連接到Git倉庫,但不是主人,因爲我們不在主人身上執行任何工作。

上面的錯誤是由於主人試圖連接到你的git回購。因此,要麼確保您的主服務器已正確配置以訪問您的git repo,要麼忽略此錯誤並運行您的工作以查看它是否在從服務器上正常運行。

+0

同樣的原因在我們的設置中。一個作業沒有節點限制,並且在結賬時「隨機」失敗(當在服務器上執行而沒有有效密鑰時)。 – user158037