2014-02-25 2 views
8

젠킨스는 master.com에서 실행 중이며 slave.com에서 실행중인 슬레이브를 갖고 싶습니다. 그러나 슬레이브에게 ssh를 보내려면 gateway.com을 통과해야합니다. 일반적으로 내 계정에서이 컴퓨터로 ssh를 보내려면 ~/.ssh/config를 사용하여 ProxyCommand를 설정하십시오.ssh 게이트웨이를 사용하는 Jenkins 슬레이브

나는 나의 /var/lib/jenkins/.ssh/config 파일에이 설정을 복제 한 : 나는 게이트웨이와 슬레이브 모두에 ​​설정 한 공개 키 인증을 가지고

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

명령 줄에서 내가 [email protected]에서 [email protected]에 직접 ssh를 할 수 있도록 단순히 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 

어떻게 여부를 알아낼 수 또는 젠킨스 내 스푸핑/config 파일을 존중되어 있지? 젠킨스에 대한 마스터 젠킨스 계정 또는 .ssh/config 파일을 구성하는 단계가 누락 되었습니까?

+2

같은 문제가 발생했습니다. @Felix에 대한 업데이트가 있습니까? –

+0

불행히도 아닙니다; 내 "해결 방법"은 게이트웨이 외부에서 슬레이브 시스템 설정을 얻는 것이 었습니다. – Felix

답변

8

Jenkin에 내장 된 SSH 구현을 사용하는 대신 "마스터에서 명령 실행으로 슬레이브 시작"을 사용하십시오. 그런 다음 일반 ssh 명령을 사용하고 익숙한 것처럼 .ssh/config을 활용할 수 있습니다. 옵션 옆에있는 ? 버튼을 클릭하면 필요한 세부 정보를 모두 얻을 수 있습니다.

+0

감사! 불행하게도 나는 더 이상 그 기계에 접근 할 수 없기 때문에 이것을 시험 할 수는 없지만, 나는 이것을 인정 된 대답으로 표시 할 것이다. – Felix

관련 문제