Сравнете SSH маршрута на Jenkins под акаунта на агента за изграждане
Проверете потребителя, ефективната SSH конфигурация и пътя до помощника на агента, който изпълнява стъпката, вместо да разчитате на интерактивно изпълнение като root.
Изпълнете това в същия акаунт на агента и контекст на изграждане като неуспешната SSH стъпка:
id -un
ssh -G deploy-targetЗаменете deploy-target с точното SSH име, което използва изграждането. Сравнете получения hostname, port и proxycommand с работещото интерактивно стартиране.
| Разлика за проверка | Ефект |
|---|---|
| Потребител на ОС и домашна директория | Избира SSH файловете и правата на потребителя |
| Име на дестинацията | Избира секции Host и включените настройки |
| Изпълним файл/път на ProxyCommand | Определя дали помощникът може да стартира в тази среда |
| Опции на командния ред на SSH | Могат да изберат друг конфигурационен файл или да заменят стойност |
Подробната SSH диагностика може да покаже кои файлове са прочетени, ако разликата остава неясна. JENKINS_HOME е мястото за данни на Jenkins, а не универсална домашна директория за потребители на отдалечени агенти. Осигурете желаната SSH конфигурация, удостоверяване и данни за ключа на хоста на машината и акаунта, които действително изпълняват командата.
За Ncat --proxy прокси портът е изходяща дестинация, а не локален слушател, който помощникът завързва. Успехът само като root не доказва сам по себе си проблем с привилегирован порт за слушане.