Jenkins奴隶使用ssh网关

Fel*_*lix 10 ssh proxy jenkins

我有jenkins在运行master.com,并希望有一个奴隶继续运行slave.com.然而,为了ssh到奴隶,我需要经历gateway.com.通常从我的普通帐户ssh到这台机器,我只需使用〜/ .ssh/config来设置ProxyCommand.

我在我的/var/lib/jenkins/.ssh/config文件中复制了这个设置:

Host slave.com
 User felix
 ProxyCommand ssh felix@gateway.com nc %h %p
Run Code Online (Sandbox Code Playgroud)

我为网关和从设备设置了公钥认证,这样从命令行我可以直接从ssh jenkins@master.comfelix@slave.com简单地做ssh slave.com.

不幸的是Jenkins似乎不尊重我的.ssh/config设置,并且连接超时(奴隶无法直接访问).Jenkins从属日志文件是:

java.io.IOException: There was a problem while connecting to slave.com:22
....
Caused by: java.net.ConnectException: Connection timed out
Run Code Online (Sandbox Code Playgroud)

我如何判断jenkins是否尊重我的.ssh/config文件?我是否错过了为jenkins配置master jenkins帐户或.ssh/config文件的步骤?

dja*_*dja 10

不使用Jenkin内置的SSH实现,而是使用"在Master上执行命令启动从站".然后,您可以使用常规的ssh命令,并.ssh/config像您习惯的那样利用它.如果单击该?选项旁边的按钮,它将为您提供所需的所有详细信息.