2014-02-25 179 views
8

我有詹金斯運行在master.com,並希望有一個在slave.com上運行的奴隸。但是,要ssh到奴隸,我需要通過gateway.com。一般來說,從我的普通帳戶ssh到這臺機器,我只是使用〜/ .ssh/config來設置一個ProxyCommand。詹金斯奴隸使用ssh網關

我在/var/lib/jenkins/.ssh/config文件複製此設置:

Host slave.com 
User felix 
ProxyCommand ssh [email protected] nc %h %p 

我有公鑰認證設置了網關和奴隸都,這樣在命令行我可以直接通過ssh從[email protected][email protected]只需通過做ssh slave.com

不幸Jenkins似乎不尊重我的.ssh/config安裝程序,並且連接超時(從站無法直接訪問)。詹金斯從屬日誌文件是:

java.io.IOException: There was a problem while connecting to slave.com:22 
.... 
Caused by: java.net.ConnectException: Connection timed out 

我怎樣才能弄清楚jenkins是否尊重我的.ssh/config文件?我是否錯過配置jenkins主帳戶或jenkins的.ssh/config文件?

+2

我遇到了同樣的問題。你有更新@Felix? –

+0

不幸的是,我的「解決方法」是在網關外部設置一臺從機。 – Felix

回答

8

不使用Jenkin內置的SSH實現,而是使用「通過在主服務器上執行命令啓動從服務器」。然後,您可以使用常規的ssh命令,並像您習慣的那樣利用.ssh/config。如果您點擊該選項旁邊的?按鈕,它應該會提供您所需的所有詳細信息。

+0

謝謝!不幸的是我不能測試這個,因爲我不再能夠訪問這些機器,但我會將其標記爲接受的答案。 – Felix