ansible看不到主机(无法访问)

时间:2017-07-19 16:11:47

标签: ansible

我最近安装了ansible

demaunt@demaunt-pc:~$ ansible --version
ansible 2.3.1.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = Default w/o overrides
  python version = 2.7.12 (default, Nov 19 2016, 06:48:10) [GCC 5.4.0 20160609]

我已添加2行: / etc / ansible / hosts

[local]
192.168.1.102

并更改了 ansible.cfg 中未注释的1行:

# uncomment this to disable SSH key host checking
host_key_checking = False

我还是这样做的时候:

ansible all -m ping
192.168.1.102 | UNREACHABLE! => {
    "changed": false, 
    "msg": "Failed to connect to the host via ssh: Warning: Permanently added '192.168.1.102' (ECDSA) to the list of known hosts.\r\nPermission denied (publickey,password).\r\n", 
    "unreachable": true
}

1)为什么我的本地主机无法访问

2)为什么这个程序非常聪明,即使禁用此选项,它也会尝试通过ssh进行连接。

3 个答案:

答案 0 :(得分:3)

要定义localhost并使用local连接而不是ssh,请按如下方式定义主机:

[local]
localhost ansible_connection=local

这样我们就定义了local群组与localhost主机local连接。

答案 1 :(得分:1)

选项eventSubjectObservable = kendo.observable({ selectedField: '{!orgEventLabel}', eventFields: allEventFields, eventLabelChange: function(){ console.log(this.get('selectedField')); } }); kendo.bind($('#eventSubject'), eventSubjectObservable); 并不意味着Ansible将无法连接到主机。这是与ssh选项host_key_checking = False相关的选项(请参阅ssh_config手册页)。

Ansible需要登录主机才能执行StrictHostKeyChecking。您在IP 192.168.1.102的本地主机可能没有运行sshd守护程序,或者其他一些问题阻止了ssh登录。

建议您查看http://docs.ansible.com/ansible/intro_configuration.html上的文档。

答案 2 :(得分:0)

当其他节点正常工作时,我的剧本中出现错误消息

致命:[localhost]:无法访问! => {“已更改”:false,“ msg”:“无法通过ssh连接到主机:权限被拒绝(publickey,gssapi-keyex,gssapi-with-mic,password,keyboard-interactive)。”,“无法访问” :true}

解决方案:

我们对节点进行了无密码ssh登录(使用 ssh-keygen ),以便可以正确执行ansible模块。

我做了ssh-copy-id localhost,它工作正常。我不知道为什么需要它(如果有人可以用理性来更新答案会很感激),我在某处阅读,作者在这样做,所以我也这样做了,它可以正常工作。