Não é o melhor método, mas você pode adicionar atributos estendidos a esse arquivo. Você pode adicionar o sinalizador "i" ao arquivo, para evitar que todos o excluam ou modifiquem.
Pode fazer isso com chattr +i
Eu tenho uma instalação do Jenkins no CentOS 6, onde o arquivo de hosts conhecidos, /var/lib/jenkins/.ssh/known_hosts
, está sob gerenciamento de configuração.
Ele contém, por exemplo, uma chave para um host de controle de origem pelo nome do host (suponha que seu IP seja 1.2.3.4:
label.hostname.tld ssh-rsa ABCDEFGHIJKLMNOPQRSTUV
Sempre que Jenkins acessa o host de controle de origem via ssh, ele garante que o endereço IP do host seja inserido no arquivo known_hosts:
label.hostname.tld ssh-rsa ABCDEFGHIJKLMNOPQRSTUV
1.2.3.4 ssh-rsa ABCDEFGHIJKLMNOPQRSTUV
Então, estou pensando em adicionar uma entrada duplicada para a chave por endereço IP, que é uma sobrecarga adicional se eu quiser manter todo o conteúdo do arquivo sob o gerenciamento da configuração.
Antes de fazer isso, estou pensando: existe uma maneira de impedir que Jenkins faça isso? Poderia haver algo na configuração do próprio aplicativo SSH evitar isso? Ou estou preso a manter duas entradas para cada host nomeado no arquivo de hosts do Jenkins?
Tags ssh jenkins known-hosts