阻止 Jenkins 修改 known_hosts

阻止 Jenkins 修改 known_hosts

我在 CentOS 6 中安装了 Jenkins,其中已知主机文件/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 地址为密钥添加一个重复条目,如果我想将所有文件内容置于配置管理之下,这将是一笔额外的开销。

在执行此操作之前,我想知道:有没有办法阻止 Jenkins 这样做?SSH 应用程序本身的配置中是否有某些东西可以阻止这种情况?还是我只能在 Jenkins hosts 文件中的每个命名主机维护两个条目?

答案1

这不是最好的方法,但你可以为该文件添加扩展属性。你可以为文件添加“i”标志,以防止任何人删除或修改它。

可以这样做chattr +i

相关内容