我正在创建一个AWS Cloud格式模板,该模板设置一组节点,这些节点必须允许无密码ssh登录。即一个控制器必须能够使用其私钥登录所有从站。控制器私钥是动态生成的,因此我无权将其硬编码到模板的用户数据中或将其作为参数传递给模板。
Cloud Formation模板中是否有办法将控制器的公钥添加到从属节点的授权密钥文件中?
是否有其他方法可以使用安全组或IAMS来执行所需的操作?
答案 0 :(得分:1)
您必须以user-data
的形式将主服务器的公钥传递给从属节点。 Cloudformation确实支持用户数据。您可能需要弄清楚相同的语法。
换句话说,将其视为一个简单的bash脚本,它将主服务器的公钥复制到从属服务器。然后将此bash脚本作为suer-data传递,以便在第一次创建实例时执行它。
您会在上述信息中找到大量的护目镜搜索。
答案 1 :(得分:1)
我会用IAM机器角色解决这个问题。您可以授予特定计算机某些AWS权限。 IAM角色不适用于ssh访问,而是适用于AWS api调用,例如s3存储桶访问或创建ec2实例。
因此,解决方案可能如下所示: