使用 Ansible 配置远程计算机
我们可以使用 Ansible 配置远程系统。你应该有一个 SSH 密钥对,你应该将 SSH 公钥带到机器〜/ .ssh / authorized_keys 文件中。你可以在没有任何授权的情况下登录。
先决条件:
- Ansible
你需要一个库存文件(例如:development.ini),你可以在其中确定要使用的主机:
[MACHINE_NAME]
MACHINE_NAME hostname=MACHINE_NAME ansible_ssh_host=IP_ADDRESS ansible_port=SSH_PORT ansible_connection=ssh ansible_user=USER ansible_ssh_extra_args="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
- hostname - 远程计算机的主机名
- ansible_ssh_host - 远程主机的 IP 或域
- ansible_port - 远程主机的端口,通常为 22
- ansible_connection - 我们设置的连接,我们想要与 ssh 连接
- ansible_user - ssh 用户
- ansible_ssh_extra_args - 要为 ssh 连接指定的额外参数
ssh 所需的额外参数:
- StrictHostKeyChecking - 它可以询问密钥检查等待是或否的内容。Ansible 无法回答这个问题然后抛出一个错误,主机不可用。
- UserKnownHostsFile - StrictHostKeyChecking 选项需要。
如果你有此库存文件,你可以编写测试 playbook.yml:
tasks:
- name: Say hello
debug:
msg: 'Hello, World'
然后你可以开始提供:
ansible-playbook -i development.ini playbook.yml