2012-10-25 42 views
0

我很努力讓我們的Ubuntu TeamCity服務器通過SSH來檢出repos。基本上我的問題是,我會在哪裏指定私鑰密碼?通過SSH在Linux上的TeamCity和Mercurial

在託管teamcity的機器上運行shell並以teamcity運行的用戶身份登錄時,我可以運行hg clone ssh://[email protected]/test克隆版本庫「test」。但是我必須輸入用戶的私鑰密碼。

我TeamCity的項目設置爲:

  • 拉中的更改:HG克隆的ssh://汞@本地/測試
  • 密碼(密碼爲私鑰)

單擊「測試連接」結果爲

Test connection failed in Test :: Test 42. '/usr/bin/hg identify ssh://[email protected]/test' command failed. 
stdout: remote: Permission denied, please try again. 
remote: Permission denied, please try again. 
remote: Permission denied (publickey,password). 

stderr: abort: no suitable response from remote hg! 

回答

0

如果密鑰對僅用於TeamCity服務器與Mercurial存儲庫進行交互,這是最簡單且仍然安全的解決方案,只要您以足夠限制的訪問權限保護私鑰文件即可。對於服務器運行的用戶而言,只讀密碼是從私鑰中刪除密碼短語。具有空密碼的私鑰將不再​​提示輸入密碼,因此不需要用戶交互,從而啓用自動化解決方案。

+0

是的,作品!謝謝。 PS:我認爲這是相關的: http://youtrack.jetbrains.com/issue/TW-21495 – Tom