想搭一个分布式的环境,用虚拟机启动了两个系统,IP是192.168.59.101,192.168.59.102,ansible在101上执行,都没有使用root账号,然后报错如下,也测试了ssh vagrant@192.168.59.101 发现是连接不了的,权限不够。
fatal: [node1]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Warning: Permanently added '192.168.59.101' (ECDSA) to the list of known hosts.\r\nPermission denied (publickey,gssapi-keyex,gssapi-with-mic).", "unreachable": true}
101访问102的ssh已经没问题了。不是专门搞运维的,感觉这个问题不是很难,但是网上找的的都不对,说白了ssh能和本地通信就行了。
是不是非要用root账号啊,我看好多人用root账号?还是说控制的节点和负载的节点要分开,因为我看有些人是控制节点不参与负载,所以没有我这个问题。
非root也可以实现ssh通信呀。
你的这个问题可能是,102上没有放ssh公钥,或者101上没有ssh私钥。公钥和私钥一般是放在每个用户的~/.ssh/目录。
或者你如果准备使用ssh方式通信,手动输入密码,需要ansible参数中传入用户名和密码 。