正在运行的剧本返回:无法通过ssh连接到主机,可以通过运行ping all来解决

时间:2019-04-09 07:33:39

标签: ssh ansible ansible-2.x

我有一本可笑的剧本,并且运行了它:

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

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

ansible all -m ping

先执行playbook命令,然后成功启动playbook。

有人知道为什么在更改 hosts (或其他一些)文件后,每次都必须运行ping命令,然后我的ssh剧本连接有效,否则不能吗?我不想每次需要在Ansible中进行更改时都运行ping。

谢谢!

1 个答案:

答案 0 :(得分:1)

运行“ sudo ansible-playbook ...”不是一个好主意,这种方式是控制器将主机作为root连接。最佳做法是不允许root ssh连接。

最佳做法是:

  1. 以普通用户身份运行ansible-playbook
  2. 配置 remote_user
  3. 通过成为 become_user 升级特权。

Understanding Privilege Escalation上了解更多信息。