如何防止我对授权密钥的添加被木偶覆盖?

如何防止我对授权密钥的添加被木偶覆盖?

在我的公司,所有员工都会获得一个每年更新的私钥,他们应该用它来连接到虚拟机。这里的 SA 有一个傀儡脚本,它将查找我的公钥并将其保存到任何虚拟机上的 ~/.ssh/authorized_keys 文件中,以便我可以连接到它。

问题是他们正在覆盖authorized_keys 文件。这意味着我添加到文件中的任何其他键也会被覆盖。这让我很沮丧,因为我希望能够从盒子 A 连接到盒子 B,主要是这样我可以进行 SCP,并且我不想将我的个人私钥放在盒子 A 上,因为它是多个用户拥有 sudo 权限的盒子。我通常会为每个盒子创建一个新的 ssh 密钥,并将该盒子的公钥添加到其他盒子的authorized_users 中,但这一直被木偶删除。

有什么方法可以防止其他授权密钥被覆盖而不更改我不维护的傀儡脚本本身?

如果做不到这一点,是否有一种简单的方法可以修改傀儡脚本,使其不覆盖我的添加内容,但仍然允许他们更新我的公钥,我可以向 SA 提出建议?

VM 是 centos 机器。

答案1

有什么方法可以防止其他授权密钥被覆盖而不更改我不维护的傀儡脚本本身?

如果您拥有服务器的管理访问权限,则可以配置sshd为在多个位置查找授权密钥。从sshd_config(5)

AuthorizedKeysFile

Specifies the file that contains the public keys used for user authentication.
The format is described in the AUTHORIZED_KEYS FILE FORMAT
section of sshd(8).  Arguments to AuthorizedKeysFile accept the tokens
described in the TOKENS section.  After expansion, AuthorizedKeysFile
is taken to be an absolute path or one relative to the user's home
directory.  Multiple files may be listed, separated by whitespace.
Alternately this option may be set to none to skip checking for user
keys in files.  The default is ".ssh/authorized_keys
.ssh/authorized_keys2".

如果做不到这一点,是否有一种简单的方法可以修改傀儡脚本,使其不覆盖我的添加内容,但仍然允许他们更新我的公钥,我可以向 SA 提出建议?

那也应该很容易。这ssh_授权密钥资源有一个purge_ssh_keys标志(默认情况下关闭),用于控制是否从文件中清除非托管密钥authorized_keys

相关内容