ansible的携带密码访问
author:head森 chen
date: 2018-08-13 10:28:34
1,ansible的安装
yum -y install epel-release
yum -y install ansible
2,配置ssh服务的免询问(修改成如下图的形式)
vim /etc/ssh/ssh_config
service sshd restart
3,配置ansible的hosts文件
[root@bogon ~]# cat /etc/ansible/hosts [jack] 192.168.1.131 ansible_ssh_user=root ansible_ssh_pass=jack
4,测试密码是否正确
[root@bogon ~]# ansible jack -m ping 192.168.1.131 | SUCCESS => { "changed": false, "ping": "pong" }
当密码不正确的时候:
ansible批量测试密码:
ansible group -m raw -a 'date' -k # group为/etc/ansible/hosts里定义的列表名 输入密码:
5,配置免秘钥的登陆方式:
5.1 添加ssh的免秘钥登陆
ssh-keygen -t rsa # 使用ssh2.0版本的加密方式
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.200
5.2 配置本地的ansible的hosts文件: /etc/ansible/hosts
[group1]
192.168.0.200
5.3,测试ansible客户端的 可用性
ansible all -m ping
5.4,在所有的客户端执行一条命令:
ansible all-cmdb -a "uptime" # 注: -m command模块可以省略,
5.5, 执行管道付或者多条命令:
ansible all -m shell -a "cd /mnt;tar fx cmdb.tar.gz;pkill cmdb_agent;cd ./cmdb-agent;sh ./install.sh restart"
5.6, 传送文件到客户端:
ansible usefull-list -m copy -a "src=/mnt/cmdb.tar.gz dest=/mnt/ owner=root group=root mode=0644"