我正在尝试运行一个通过 SSH(通过 Pub/Priv 密钥)调用另一台服务器的脚本。但是,根据通过 sudo 运行脚本的用户(或者更确切地说,他/她的组成员身份),我希望以拥有适当密钥来访问服务器的用户身份调用该脚本。这样,用户就可以访问远程服务器,而无需看到密钥本身。
因此,有两个用户及其相关组:
- 乔:部署生产
- 约翰:deploy_acceptance
有没有办法:
- 如果 Joe 运行该脚本,
sudo script
则该脚本在deploy_production
用户 - 如果 John 运行该脚本,则该脚本在用户
sudo script
下运行deploy_acceptance
注意:仅script
应列入白名单,以阻止用户通过 sudo-cat 访问密钥文件。
注意:我不想使用-u <user>
sudo 选项。
理由:这将为我提供轻松的访问控制,而不必将每个用户的 ssh 密钥放在允许他们访问的服务器上。因此,如果我想删除特定用户对服务器的访问权限,我会将他从其中一个组中移除。如果有比我提出的使用 sudo 的解决方案更好的方法,请提供建议。