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

---
- hosts: MACHINE_NAME
  tasks:
    - name: Say hello
      debug:
        msg: 'Hello, World'

那么您可以开始提供:

ansible-playbook -idevelopment.iniplaybook.yml