使用 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