2014-02-25 205 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