Сравните 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 сам по себе не указывает на проблему привилегированного порта прослушивания.