我最近安装了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进行连接。
答案 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
,它工作正常。我不知道为什么需要它(如果有人可以用理性来更新答案会很感激),我在某处阅读,作者在这样做,所以我也这样做了,它可以正常工作。