Jenkins-Slave, der ein ssh-Gateway verwendet

8

Ich habe jenkins läuft auf master.com und möchte einen Slave auf slave.com laufen lassen. Um jedoch zum Slave zu gelangen, muss ich gateway.com durchlaufen. Im Allgemeinen ssh zu diesem Rechner von meinem normalen Konto aus, verwende ich einfach ~ / .ssh / config, um einen ProxyCommand einzurichten.

Ich habe dieses Setup in meiner /var/lib/jenkins/.ssh/config -Datei repliziert:

%Vor%

Ich habe die Authentifizierung mit öffentlichen Schlüsseln sowohl für das Gateway als auch für den Slave eingerichtet, so dass ich direkt von [email protected] auf [email protected] von der Befehlszeile aus zugreifen kann, indem ich einfach ssh slave.com .

tue

Leider scheint Jenkins mein .ssh / config-Setup nicht zu respektieren, und die Verbindung läuft ab (der Slave ist nicht direkt erreichbar). Die Jenkins-Slave-Protokolldatei lautet:

%Vor%

Wie kann ich herausfinden, ob jenkins meine .ssh / config-Datei respektiert? Fehle ich einen Schritt bei der Konfiguration der Master Jenkins-Konto oder der .ssh / Config-Datei für Jenkins?

    
Felix 25.02.2014, 18:07
quelle

2 Antworten

8

Anstatt Jenkins eingebaute SSH-Implementierung zu verwenden, verwenden Sie den Befehl "Slave durch Ausführen des Befehls auf dem Master starten". Sie können dann den regulären SSH-Befehl verwenden und% code% nutzen, wie Sie es gewohnt sind. Wenn Sie neben der Option auf die Schaltfläche .ssh/config klicken, erhalten Sie alle erforderlichen Informationen.

    
dja 14.10.2015, 05:21
quelle
3

Das Plugin jenkins-ssh-slaves verwendet das trilead SSH2-Implementierung in Java geschrieben.

~ / .ssh / config wird nur von OpenSSH gelesen und hat keinen Einfluss darauf, wie Jenkins eine Verbindung zu Ihren Slaves herstellt.

    
chris 11.02.2015 06:30
quelle

Tags und Links