Confrontare la rotta SSH di Jenkins con l'account dell'agente di build
Ispeziona utente, configurazione SSH effettiva e percorso dell'helper sull'agente che esegue lo step, invece di affidarti a un'esecuzione interattiva come root.
Esegui questi comandi nello stesso account agente e contesto di build dello step SSH che fallisce:
id -un
ssh -G deploy-targetSostituisci deploy-target con il nome SSH esatto usato dalla build. Confronta il nome host, la porta e proxycommand risultanti con l'avvio interattivo funzionante.
| Differenza da verificare | Effetto |
|---|---|
| Utente del sistema e home | Seleziona i file SSH e i permessi dell'utente |
| Nome di destinazione | Seleziona le sezioni Host e le impostazioni incluse |
| Eseguibile/percorso di ProxyCommand | Determina se l'helper può avviarsi in quell'ambiente |
| Opzioni della riga di comando SSH | Possono selezionare un altro file di configurazione o sovrascrivere un valore |
Una diagnostica SSH dettagliata può mostrare quali file sono stati letti se la differenza resta poco chiara. JENKINS_HOME è la posizione dei dati di Jenkins, non una home universale per gli utenti degli agenti remoti. Fornisci la configurazione SSH, l'autenticazione e i dati della chiave host previsti sulla macchina e sull'account che eseguono realmente il comando.
In Ncat --proxy, la porta del proxy è una destinazione in uscita, non un listener locale a cui l'helper si lega. Il successo solo come root non identifica di per sé un problema di porta di ascolto privilegiata.