Jenkins' SSH-Route im Konto des Build-Agenten vergleichen
Prüfen Sie Benutzer, effektive SSH-Konfiguration und Helper-Pfad auf dem Agenten, der den Schritt ausführt, statt sich auf einen interaktiven Root-Lauf zu verlassen.
Führen Sie diese Befehle im selben Agent-Konto und Build-Kontext wie der fehlschlagende SSH-Schritt aus:
id -un
ssh -G deploy-targetErsetzen Sie deploy-target durch den exakten SSH-Namen, den der Build verwendet. Vergleichen Sie den resultierenden Hostnamen, Port und proxycommand mit dem funktionierenden interaktiven Start.
| Zu prüfender Unterschied | Wirkung |
|---|---|
| OS-Benutzer und Home | Wählt die SSH-Dateien und Berechtigungen des Benutzers |
| Zielname | Wählt Host-Abschnitte und eingebundene Einstellungen |
| ProxyCommand-Programm/Pfad | Bestimmt, ob der Helper in dieser Umgebung starten kann |
| SSH-Kommandozeilenoptionen | Können eine andere Konfigurationsdatei wählen oder einen Wert überschreiben |
Eine ausführliche SSH-Diagnose kann zeigen, welche Dateien gelesen wurden, wenn der Unterschied unklar bleibt. JENKINS_HOME ist Jenkins' Datenablage, kein allgemeines Home-Verzeichnis für Benutzer entfernter Agenten. Stellen Sie die vorgesehene SSH-Konfiguration, Authentifizierung und Hostschlüssel-Daten auf der Maschine und dem Konto bereit, die den Befehl tatsächlich ausführen.
Bei Ncat --proxy ist der Proxy-Port ein ausgehendes Ziel, kein lokaler Listener, den der Helper bindet. Ein Erfolg nur als root belegt für sich genommen kein Problem mit einem privilegierten Listening-Port.