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