ansible免密登录和账号登录方式

ansible是可以通过ssh私钥去导入到远端客户机电脑,然后第二次访问以后就可以免密码输入。

但是这样也会带来一些问题,在实际的环境中。会有安全隐患,如果这台ansible主机被攻陷,会导致整个生产环境被攻陷

所以安全的方法还是利用ansible的ansible_ssh_pass 和ansible_ssh_user这两个模块配置请看下面

一.SSH秘钥远程拷贝导入

先介绍一下如何进行ssh秘钥导入,网络上教程很多,这里还是简单介绍一下:

ssh-keygen -t rsa -P ""                       

ssh-copy-id -i /root/.ssh/id_rsa.pub  root@192.168.1.34

上面第一个命令是生成本地秘钥

第二个是将私钥远程copy到客户端,这里会要输入一下yes然后输入root密码后面就不用

二.利用ansible的ansible_ssh_pass 和ansible_ssh_user这两个模块配置推送

ansible_ssh_pass和ansible_ssh_user其实就是root账号和密码

就是在hosts文件里面多加一个参数如下:

[test]
192.168.1.122 ansible_ssh_pass='12345' ansible_ssh_user=root

这样的好处就是不用推送证书,推送完成以后hosts文件删除就不用推送SSH了

如果用户和密码都是统一的,可以定义一下[test:vars]具体如下

[test]
192.168.1.122

[test:vars]

ansible_ssh_user=root
ansible_ssh_pass='12345'

这样时间就是见两个模块放进去,不用去配置到每个上面。


版权声明:本文为zetion_3原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。