У нас есть узел на главном сервере jenkins (на самом деле, несколько узлов), который подключается с помощью SSH и стратегии проверки ключей с ручным управлением. Мы подключаем подчиненный сервер к jenkins таким образом (конкретно, к компьютеру Sierra Mac). Теперь Sierra слишком старая, нам нужно перейти на HighSierra. Мы не просто обновляем машину, мы полностью стираем ее, устанавливаем HighSierra с нуля, устанавливаем все, что нам нужно, на этот подчиненный сервер и подключаем его обратно с тем же узлом jenkins (хотя никаких изменений в jenkins не было внесено). Мы получаем ошибку, когда Jenkins пытается подключиться к узлу:
ВНИМАНИЕ: Ключ SSH для этого хоста в настоящее время не является доверенным. Подключения будут отклоняться, пока этот новый ключ не будет авторизован.
Мы пытаемся исправить проблему SSH, подключившись к главному узлу и выполнив команду ssh-keygen -R для всего этого узла, а затем подключаясь по ssh к узлу, и все работает отлично... Но Jenkins по-прежнему не может подключиться с тем же сообщением.
Теперь самое интересное, мы создаем новый узел, который является копией первого, и просто сохраняем. Никаких изменений. Он мгновенно подключается.
Итак, я предполагаю, что где-то в Jenkins хранится отпечаток пальца (который меняется после переустановки), но я не смог выяснить, где именно.
На данный момент обходной путь, заключающийся в удалении узла и создании нового после переустановки, работает нормально, но мне интересно, есть ли другой способ сделать это.
Что сказать Дженкинсу, чтобы он забыл про отпечатки пальцев?
Может быть, проблема в чем-то другом?
Мы используем Jenkins 2.32.3, а наш плагин SSH Slaves — v1.15.
Спасибо за ваше просвещение.
решение1
Я только что столкнулся с этой же проблемой. Слева от параметров узла будет ссылка со значком дискеты для авторизации ключа. Щелкните ссылку и примите новую подпись.