ubuntu - Ansible ping 无法访问

标签 ubuntu ansible

10.1.1.96是我的 Ansible 主节点。 10.1.1.77是我的奴隶。我可以通过使用 成功地从主服务器 ssh ssh ubuntu@10.1.1.77 .
但是当我从 master 执行 ansible ping 时,我收到以下消息
etc/ansible/hosts 文件:

[servers]

server1 ansible_ssh_host=10.1.1.77
使用的 Ping 命令:
sudo ansible -m ping server1 -u ubuntu
结果:
 server1 | UNREACHABLE! => {
     "changed": false,
     "msg": "Failed to connect to the host via ssh: ubuntu@10.1.1.77: Permission denied (publickey,password).",
     "unreachable": true
为什么会这样?我哪里错了?

最佳答案

因此,当您使用公钥对远程服务器进行身份验证时,您的 SSH 连接会失败。我猜您正在使用密码登录远程服务器。
请注意,您也可以在 list 文件中设置远程用户,这样您在调用 ansible-playbook 时就不必指定它。 :

[all:vars]
ansible_user=ubuntu
所以对你来说,有两种前进的方式:
设置 SSH key
使用以下命令将您的公钥从本地计算机复制到远程计算机,以便您无需密码即可登录:
ssh-copy-id ubuntu@10.1.1.77
然后,您应该能够在不指定密码和使用公钥的情况下登录。
使用 ansible_ssh_pass
将您的用户的密码添加到您的 list 文件中,如下所示:
[all:vars]
ansible_user=ubuntu
ansible_ssh_pass=mypassword
然后,此密码将用于 list 文件中的所有主机。

关于ubuntu - Ansible ping 无法访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62569354/

相关文章:

postgresql - 无法连接到 Postgres - 错误 : connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed

python - 通过 SSH 查看脚本输出?

php - 关于 Php、MySQL、Magento 和 Ubuntu 服务器

Ansible Lineinfile : Find a key and replace only the value

linux - Ansible 文件模块错误 - chown 失败 : failed to look up user

ansible:尝试切换用户时变得失败(超时错误)

linux - 启用 EAP 的 NetworkManager-pptp SSTP VPN 访问?

c++ - 如何在同一台计算机上同时安装多个版本的 llvm libc++(ubuntu)?

docker - 是否在Kubernetes中为Docker Splunk做好了准备?

deployment - 如何在 Ansible 中跳过角色执行