为什么 Ansible 无法 ping 通我可以连接的实例?

为什么 Ansible 无法 ping 通我可以连接的实例?

我可以连接我的 AWS EC2 实例

ssh -i "pizdform.pem" [email protected]

Last login: Tue Feb 21 12:36:50 2023 from ...

我尝试了 Ansible ping

cat test-project/hosts.ini
[web]
52.206.23.6

ansible -i test-project/hosts.ini web -m ping -u ec2-user

ping 失败

52.206.23.6 | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: [email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).",
    "unreachable": true
}

为什么?

答案1

错误消息显示“权限被拒绝”。这告诉我,您没有使用正确的 SSH 身份文件来连接到您的目标(该pizdform.pem文件作为参数传递给-i裸 SSH 命令中的选项)。使用--private-key PRIVATE_KEY_FILE选项来ansible使用 PEM 文件,您应该能够正常连接。您还可以使用ssh-agent将标识存储在内存中,从而避免使用--private-key选项ansible

答案2

我开始学习ansible,最近遇到了这个问题。找到了附加ansible_user=username在清单文件中的主机名后面的解决方案。之后我收到了 SUCCESS 输出,希望这对您有用。

相关内容