ssh - 运行playbook返回:ssh连接主机失败,运行ping all解决
问题描述
我有一个 ansible 剧本并运行它:
sudo ansible-playbook -i hosts startelk.yml -vvv
每次,在我更改主机文件后,运行相同的剧本都会导致“无法通过 ssh 连接到主机”。如果我跑
ansible all -m ping
首先,然后是 playbook 命令,playbook 成功启动。
有谁知道为什么每次更改主机(或其他)文件后我都必须运行 ping ,然后我的剧本的 ssh 连接工作,否则不?我不想每次需要在 Ansible 中更改某些内容时都运行 ping。
谢谢!
解决方案
运行“sudo ansible-playbook ...”不是一个好主意,这样控制器以 root 身份连接主机。最佳实践是不允许 root ssh 连接。
最佳做法是:
- 以普通用户身份运行 ansible-playbook
- 配置 remote_user 和
- 使用become和become_user提升权限。
阅读更多了解权限提升。
推荐阅读
- javascript - 将 URl 添加到 cookie 并在返回时重定向到 URL
- graphics - (GLSL)一个周末的光线追踪,如何将景深添加到视图矩阵?
- svelte - 有没有办法在 Sapper 路由中延迟加载动态导入?
- python-3.x - 什么是 KeyError:“twoColumnSearchResultsRenderer”(Python、youtube_dl)
- autohotkey - 将 gui 停靠到可变的活动窗口
- r - 将变量添加到 R 中的数据框并按所述变量排序
- reactjs - 如何在 ReactJs 中获取设备唯一 ID
- html - CSS/HTML:悬停图像,动画文本不起作用
- blazor - 当我有注册类型时,没有类型错误的注册服务
- node.js - nodejs 无法使用自动标头执行 http post