Porównaj trasę SSH Jenkinsa na koncie agenta budującego
Sprawdź użytkownika, obowiązującą konfigurację SSH i ścieżkę pomocnika na agencie, który wykonuje krok, zamiast polegać na interaktywnym uruchomieniu jako root.
Uruchom te polecenia na tym samym koncie agenta i w tym samym kontekście budowania co nieudany krok SSH:
id -un
ssh -G deploy-targetZastąp deploy-target dokładną nazwą SSH używaną przez build. Porównaj wynikowe hostname, port i proxycommand z działającym uruchomieniem interaktywnym.
| Różnica do sprawdzenia | Efekt |
|---|---|
| Użytkownik systemu i katalog domowy | Wybiera pliki SSH i uprawnienia użytkownika |
| Nazwa miejsca docelowego | Wybiera sekcje Host i uwzględnione ustawienia |
| Plik/ścieżka ProxyCommand | Określa, czy pomocnik może wystartować w tym środowisku |
| Opcje wiersza poleceń SSH | Mogą wybrać inny plik konfiguracji lub nadpisać wartość |
Szczegółowa diagnostyka SSH może pokazać, które pliki zostały odczytane, jeśli różnica pozostaje niejasna. JENKINS_HOME to lokalizacja danych Jenkinsa, a nie uniwersalny katalog domowy dla użytkowników zdalnych agentów. Zapewnij zamierzoną konfigurację SSH, uwierzytelnianie i dane klucza hosta na maszynie i koncie, które faktycznie wykonują polecenie.
W Ncat --proxy port proxy jest miejscem docelowym wychodzącym, a nie lokalnym nasłuchiwaczem wiązanym przez pomocnika. Sukces tylko jako root sam w sobie nie wskazuje na problem uprzywilejowanego portu nasłuchu.