Comparer la route SSH de Jenkins sous le compte de l'agent de build
Inspectez l'utilisateur, la configuration SSH effective et le chemin de l'auxiliaire sur l'agent qui exécute l'étape, au lieu de vous fier à une exécution interactive en root.
Exécutez ces commandes dans le même compte d'agent et le même contexte de build que l'étape SSH en échec :
id -un
ssh -G deploy-targetRemplacez deploy-target par le nom SSH exact utilisé par le build. Comparez le nom d'hôte, le port et proxycommand obtenus avec le lancement interactif qui fonctionne.
| Différence à vérifier | Effet |
|---|---|
| Utilisateur du système et répertoire personnel | Sélectionne les fichiers SSH et les permissions de l'utilisateur |
| Nom de destination | Sélectionne les sections Host et les réglages inclus |
| Exécutable/chemin de ProxyCommand | Détermine si l'auxiliaire peut se lancer dans cet environnement |
| Options de ligne de commande SSH | Peuvent sélectionner un autre fichier de configuration ou remplacer une valeur |
Un diagnostic SSH détaillé peut montrer quels fichiers ont été lus si la différence reste floue. JENKINS_HOME est l'emplacement des données de Jenkins, pas un répertoire personnel universel pour les utilisateurs d'agents distants. Provisionnez la configuration SSH, l'authentification et les données de clé d'hôte voulues sur la machine et le compte qui exécutent réellement la commande.
Pour Ncat --proxy, le port du proxy est une destination sortante, pas un écouteur local que l'auxiliaire lie. Un succès en root seul n'identifie pas en soi un problème de port d'écoute privilégié.