我有一个正在运行 ansible 的 ec2 实例。我想创建一个有剧本的用户,但没有密码,并且用户必须使用现有的 pem 文件进行身份验证,并且必须能够登录到该文件的实例。这里棘手的部分是如何编写剧本来创建一个用户并将其与现有的 pem 文件关联起来。我完全没有主意了。
答案1
您只需要在用户的authorized_keys文件中添加pem文件中包含的公钥。
公钥可以像这样提取:
openssl rsa -in charlie.pem -pubout > charlie.pub
然后可以将公钥存储在 Ansible 代码中files
。然后您可以使用用户模块创建用户和authorized_key 模块像这样添加公钥:
- user: name=charlie state=present
- authorized_key: user=charlie key="{{ lookup('file', 'charlie.pub') }}"