我无法连接到Ansible中的主机.这是错误:
192.168.1.12 | UNREACHABLE!=> {"已更改":false,"msg":"错误!SSH在连接过程中遇到未知错误.我们建议您使用-vvvv重新运行命令,这将启用SSH调试输出以帮助诊断问题", "无法到达":真实}
这是我的hosts档案:
[test]
192.168.1.12
Run Code Online (Sandbox Code Playgroud)
这是临时指令:
ansible all -m ping
Run Code Online (Sandbox Code Playgroud)
我可以通过raw连接ssh.
默认情况下,Ansible尝试使用SSH密钥.看来你的钥匙错了.尝试使用密码身份验证.
ansible all -m ping --ask-pass --ask-sudo-pass
我希望它有所帮助.
@bigdestroyer,要设置ssh公钥,请使用此剧本
- hosts: all
remote_user: root
vars:
authorized_key_list:
- name: root
authorized_keys:
- key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
state: present
roles:
- { role: GROG.authorized-key }
Run Code Online (Sandbox Code Playgroud)
使用此剧本,--ask-pass因为您将使用它来设置公共密钥身份验证。
ansible-playbook setup_ssh.yml --ask-pass
该角色会将您当前的用户公共密钥添加到远程主机authorized_keys文件中。
注意
ask-pass 每次运行只能运行一次,因此仅适用于具有相同密码的主机。
我通常-limit在具有相同密码的主机上批量使用和执行。
例如,假设host1,host2和host3的密码分别为foohost4和host5bar
ansible-playbook setup-ssh.yml --ask-pass -l host1,host2,host3
提供密码 foo
ansible-playbook setup-ssh.yml --ask-pass -l host4,host5
提供密码 bar
然后
ansible -m ping host1,host2,host3,host4,host5
您可以在此处阅读角色文档
| 归档时间: |
|
| 查看次数: |
14918 次 |
| 最近记录: |