Порівняйте 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 сам по собі не вказує на проблему привілейованого порту прослуховування.