Назад | Перейти на главную страницу

Остановить Дженкинса от изменения known_hosts

У меня есть установка Jenkins в CentOS 6, где находится файл известных хостов, /var/lib/jenkins/.ssh/known_hosts, находится под управлением конфигурацией.

Он содержит, например, ключ к хосту системы управления версиями по имени хоста (предположим, что его IP-адрес 1.2.3.4:

label.hostname.tld ssh-rsa ABCDEFGHIJKLMNOPQRSTUV

Каждый раз, когда Jenkins обращается к хосту системы управления версиями через ssh, он гарантирует, что IP-адрес хоста вставлен в файл known_hosts:

label.hostname.tld ssh-rsa ABCDEFGHIJKLMNOPQRSTUV
1.2.3.4 ssh-rsa ABCDEFGHIJKLMNOPQRSTUV

Поэтому я подумываю добавить дублирующую запись для ключа по IP-адресу, что является дополнительными накладными расходами, если я хочу сохранить все содержимое файла под управлением конфигурацией.

Прежде чем я это сделаю, мне интересно: есть ли способ остановить Дженкинса от этого? Может ли что-то в конфигурации самого SSH-приложения предотвратить это? Или я застрял с поддержанием двух записей для каждого именованного хоста в файле хостов Jenkins?

Это не лучший метод, но вы можете добавить в этот файл расширенные атрибуты. Вы можете добавить к файлу флаг «i», чтобы никто не удалил или не изменил его.

Можно сделать это с chattr +i