在我的公司,所有员工都有一个私钥,每年都会更新,他们应该用它来连接虚拟机。这里的 SA 有一个 puppet 脚本,它将查找我的公钥并将其保存到任何 VM 上的 ~/.ssh/authorized_keys 文件中,以便我可以连接到它。
问题是他们正在覆盖authorized_keys 文件。这意味着我添加到文件中的任何其他键也会被覆盖。这让我很沮丧,因为我喜欢能够从盒子 A 连接到盒子 B,主要是为了我可以 SCP,而且我不想把我的个人私钥放在盒子 A 上,因为它是一个盒子,多个用户拥有 sudo 权限。我通常会为每个盒子创建一个新的 ssh 密钥,并将该盒子的公钥添加到其他盒子的授权用户,但这一直被 puppet 擦除。
有什么方法可以在不更改我不维护的木偶脚本本身的情况下防止其他授权密钥被覆盖?
如果做不到这一点,是否有一种简单的方法可以修改 puppet 脚本以不覆盖我的添加,但仍然允许它们更新我的公钥,我可以向 SA 建议?
虚拟机是centos 机器。
如果您在服务器上具有管理访问权限,则可以配置
sshd
为在多个位置查找您的授权密钥。来自sshd_config(5)
:这也应该很容易。ssh_authorized_key资源有一个标志(默认为
purge_ssh_keys
关闭),用于控制它是否从authorized_keys
文件中清除非托管密钥。