首页 > 解决方案 > 运行playbook返回:ssh连接主机失败,运行ping all解决

问题描述

我有一个 ansible 剧本并运行它:

sudo ansible-playbook -i hosts startelk.yml -vvv

每次,在我更改主机文件后,运行相同的剧本都会导致“无法通过 ssh 连接到主机”。如果我跑

ansible all -m ping

首先,然后是 playbook 命令,playbook 成功启动。

有谁知道为什么每次更改主机(或其他)文件后我都必须运行 ping ,然后我的剧本的 ssh 连接工作,否则不?我不想每次需要在 Ansible 中更改某些内容时都运行 ping。

谢谢!

标签: sshansibleansible-2.x

解决方案


运行“sudo ansible-playbook ...”不是一个好主意,这样控制器以 root 身份连接主机。最佳实践是不允许 root ssh 连接。

最佳做法是:

  1. 以普通用户身份运行 ansible-playbook
  2. 配置 remote_user
  3. 使用becomebecome_user提升权限。

阅读更多了解权限提升


推荐阅读