Palyginkite Jenkins SSH maršrutą build agento paskyroje
Patikrinkite naudotoją, galiojančią SSH konfigūraciją ir pagalbinės programos kelią agente, kuris vykdo veiksmą, o ne pasikliaukite interaktyviu root paleidimu.
Vykdykite tai tame pačiame agento paskyroje ir build kontekste kaip nepavykęs SSH veiksmas:
id -un
ssh -G deploy-targetPakeiskite deploy-target tiksliu SSH pavadinimu, kurį naudoja build. Palyginkite gautą hostname, port ir proxycommand su veikiančiu interaktyviu paleidimu.
| Skirtumas, kurį reikia patikrinti | Poveikis |
|---|---|
| OS naudotojas ir namų katalogas | Parenka naudotojo SSH failus ir leidimus |
| Paskirties pavadinimas | Parenka Host sekcijas ir įtrauktus nustatymus |
| ProxyCommand vykdomasis failas/kelias | Nustato, ar pagalbinė programa gali paleisti toje aplinkoje |
| SSH komandinės eilutės parinktys | Gali pasirinkti kitą konfigūracijos failą arba pakeisti reikšmę |
Išsami SSH diagnostika gali parodyti, kurie failai buvo skaityti, jei skirtumas lieka neaiškus. JENKINS_HOME yra Jenkins duomenų vieta, o ne universalus namų katalogas nuotolinių agentų naudotojams. Paruoškite numatytą SSH konfigūraciją, autentifikaciją ir hosto rakto duomenis toje mašinoje ir paskyroje, kurios iš tikrųjų vykdo komandą.
Ncat atveju --proxy proxy prievadas yra išėjimo paskirtis, o ne vietinis klausytojas, kurį susieja pagalbinė programa. Sėkmė tik kaip root pati savaime nerodo privilegijuoto klausymosi prievado problemos.