Porovnejte SSH trasu Jenkins pod účtem build agenta
Prověřte uživatele, efektivní konfiguraci SSH a cestu k pomocníkovi na agentu, který krok spouští, místo spoléhání na interaktivní běh jako root.
Spusťte tyto příkazy ve stejném účtu agenta a kontextu buildu jako selhávající krok SSH:
id -un
ssh -G deploy-targetNahraďte deploy-target přesným názvem SSH, který build používá. Porovnejte výsledný hostname, port a proxycommand s fungujícím interaktivním spuštěním.
| Rozdíl ke kontrole | Efekt |
|---|---|
| Uživatel OS a domovský adresář | Vybere uživatelovy SSH soubory a oprávnění |
| Název cíle | Vybere sekce Host a zahrnutá nastavení |
| Spustitelný soubor/cesta ProxyCommand | Určuje, zda se pomocník v tomto prostředí může spustit |
| Přepínače příkazové řádky SSH | Mohou vybrat jiný konfigurační soubor nebo přepsat hodnotu |
Podrobná diagnostika SSH může ukázat, které soubory byly přečteny, pokud rozdíl zůstává nejasný. JENKINS_HOME je umístění dat Jenkins, nikoli univerzální domovský adresář pro uživatele vzdálených agentů. Zřiďte zamýšlenou konfiguraci SSH, autentizaci a data hostitelského klíče na stroji a účtu, které příkaz skutečně spouštějí.
U Ncat --proxy je port proxy odchozím cílem, nikoli lokálním naslouchajícím socketem, který by pomocník navazoval. Úspěch pouze jako root sám o sobě neznamená problém s privilegovaným portem pro naslouchání.