Porovnajte SSH trasu Jenkins pod účtom build agenta
Preverte používateľa, efektívnu konfiguráciu SSH a cestu k pomocníkovi na agentovi, ktorý krok spúšťa, namiesto spoliehania sa na interaktívny beh ako root.
Spustite tieto príkazy v tom istom účte agenta a kontexte buildu ako zlyhávajúci krok SSH:
id -un
ssh -G deploy-targetNahraďte deploy-target presným názvom SSH, ktorý build používa. Porovnajte výsledný hostname, port a proxycommand s fungujúcim interaktívnym spustením.
| Rozdiel na kontrolu | Efekt |
|---|---|
| Používateľ OS a domovský adresár | Vyberie používateľove SSH súbory a oprávnenia |
| Názov cieľa | Vyberie sekcie Host a zahrnuté nastavenia |
| Spustiteľný súbor/cesta ProxyCommand | Určuje, či sa pomocník v tomto prostredí môže spustiť |
| Prepínače príkazového riadka SSH | Môžu vybrať iný konfiguračný súbor alebo prepísať hodnotu |
Podrobná diagnostika SSH môže ukázať, ktoré súbory sa prečítali, ak rozdiel zostáva nejasný. JENKINS_HOME je umiestnenie dát Jenkins, nie univerzálny domovský adresár pre používateľov vzdialených agentov. Nastavte zamýšľanú konfiguráciu SSH, autentifikáciu a údaje hostiteľského kľúča na stroji a účte, ktoré príkaz skutočne spúšťajú.
Pri Ncat --proxy je port proxy odchádzajúcim cieľom, nie lokálnym naslúchajúcim socketom, ktorý by pomocník naväzoval. Úspech iba ako root sám o sebe neznamená problém s privilegovaným portom na počúvanie.