首页 > 解决方案 > 无法在 ec2(主机)到 Mac(目标机)中运行 ansible playbook

问题描述

我的 mac 机器正在与一个 ec2 实例通信,建立了 SSH 连接,当它被 ping 时,我得到一个响应为“pong”,但是当我运行 playbook 时面临以下问题。

但是当我运行剧本时出现以下错误:

PLAY [macserver] ***************************************************************

TASK [Gathering Facts] *********************************************************
fatal: [X.X.X.X]: FAILED! => {"msg": "Missing sudo password"}

PLAY RECAP *********************************************************************
X.X.X.X : ok=0 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0

以 ec2-user 身份运行 playbook,也只是为了检查问题是否与 ec2-user 在我的 linux ec2 实例中添加新用户为“ansible”并开始运行 playbook,但同样的问题仍然存在。我还在 sudoers 文件中添加了 ec2-user 。

我尝试了替代方法来运行剧本,如下所示:

"ansible-playbook paybook.yml -k -K"

命令提供密码并运行剧本,在这种情况下面临不正确的 sudo 密码错误。而为 root、ec2-user 和 ansible 创建的密码都是相同的。我无法弄清楚我错过了什么和在哪里,有人可以帮我吗?

标签: linuxmacosamazon-ec2ansible

解决方案


您正在从 EC2 连接您的 Mac。“缺少 sudo 密码”不是 EC2 服务器的 root/ec2 用户,而是 Mac。您需要提供目标机器的用户名/密码/sudo 访问权限等

关于“ec2-user”的使用。您可以继续使用 ec2-user 或 ubuntu 用户,这是 EC2 实例的默认用户。但是,创建具有受限访问权限的新用户并删除默认用户始终是一个好习惯。


推荐阅读