我试图处理在Ansible剧本以下情况:记录与在Ansible剧本用户名/密码(获取从API)
- 通过云提供商的API创建服务器
- 来自API的响应存储根凭据(用户名/密码)
- 使用root凭据登录,并将SSH密钥
- 设置新用户,禁用root登录,等
我可以在步骤4中使用authorized_key
和user
模块。我有一个用于步骤1和步骤2的模块(自建)。如何处理步骤3?是否有以编程方式用用户名/密码登录的现有解决方案?我不想通过命令行给他们。
基本上我也可以为此构建一个模块。理想情况下,我想类似的东西:
- task: setup SSH place_ssh_with_passwd: state: present key: /path/to/local/key path: /root/.ssh/authorized_keys user: "{{ server.username }}" password: "{{ server.password }}"
如果一切都失败了,你总是可以简单地运行一个本地任务并用你的凭据手动连接到主机。像这样:' - shell:sshpass -p'password'scp/path/to/local/key [email protected]:/root/.ssh/authorized_keys'。 – udondan