gpt4 book ai didi

amazon-ec2 - 我可以只使用 ssh key 文件在 ec2 上运行 ansible playbook 没有 aws key /对吗?

转载 作者:行者123 更新时间:2023-12-04 03:01:59 25 4
gpt4 key购买 nike

如果我没有 AWS key 对,也没有创建/删除 EC2 实例的权限,但只能通过 SSH 使用 keypair.pem 访问一个实例,我还可以只使用 Ansible 来设置我的服务器吗?

由于我无法访问所有 EC2 实例,我是否可以根本不使用 boto/aws key 对,而只是在 list 文件中添加我有权访问的唯一 EC2 实例?

我在我的库存文件上试过这个:

[aws_server]
aws_instance ansible_host='MY_EC2_INSTANCE.us-west-2.compute.amazonaws.com' ansible_user='ubuntu' ansible_ssh_private_key_file='/myproject/testkey.pem'

但是无法连接 ansible-playbook -i inventory site.yml :
fatal: [aws_instance]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh.", "unreachable": true}

PS:我可以运行 ssh -i testkey.pem ubuntu@MY_EC2_INSTANCE.us-west-2.compute.amazonaws.com没有问题

最佳答案

出现问题是因为我使用的是 AWS 主机名而不是 IP,并且由于某种原因它“太长”。我是怎么发现的?正如#ansible IRC channel 的用户所建议的,我用 -vvvv 运行它获取完整日志并能够看到给出错误的 SSH 命令。

ansible-playbook  -vvvv -i inventory site.yml

我尝试运行 SSH 命令 Ansible 使用相同的选项加上 -vvvv日志失败前的最后几行是:
debug1: setting up multiplex master socket
debug3: muxserver_listen: temporary control path /Users/vmenezes/.ansible/cp/ansible-ssh-MY_EC2_INSTANCE.us-west-2.compute.amazonaws.com-22-ubuntu.NSUADT9KwyIpvhWi
unix_listener: "/path/to/my/project/.ansible/cp/ansible-ssh-MY_EC2_INSTANCE.us-west-2.compute.amazonaws.com-22-ubuntu.NSUADT9KwyIpvhWi" too long for Unix domain socket

正如你所看到的,最后一行清楚地写着 too long for Unix domain socket .我不知道为什么这个限制,因为它确实是一个有效的 URL,但更改 IP 地址解决了问题。

要记住的事情,当一切都失败时, -vvvv了解幕后发生的事情真的很有帮助。

关于amazon-ec2 - 我可以只使用 ssh key 文件在 ec2 上运行 ansible playbook 没有 aws key /对吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38666251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com