1.非交互式密码
前提条件:
yum install anside -y
m1实现:
方法一:
创建模块
cp /etc/ansible/hosts{,.ori} #备份ansible
cat >/etc/ansible/hosts<<EOF #设置模块
[oldboy]
172.16.1.31
172.16.1.41
[oldgirl]
172.16.1.31
172.16.1.41
172.16.1.51
EOF
解决公钥
for ip in 7 41
do
sshpass -p123456 ssh-copy-id -f -i ~/.ssh/id_rsa.pub "-o StrictHostKeyChecking=no" 172.16.1.$ip
done
测试
[root@m01 ~]# ansible oldboy -m command -a "free -m"
方法二:
创建模块
修改Host增加用户和密码:
cat >/etc/ansible/hosts<<EOF
[oldboy]
172.16.1.31
172.16.1.41
[oldboy_pass]
172.16.1.31 ansible_ssh_user=root ansible_ssh_pass=123456
172.16.1.41 ansible_ssh_user=root ansible_ssh_pass=123456
测试:
[root@m01 ~]# ansible oldboy_pass -m command -a "free -m"
备注:若要首次使用ssh连接时避免首次连接时让输入yes/no部分的提示,修改/etc/ansble/ansible.cfg
方法一:
71行注释取消:host_key_checking = False
方法二:
修改374行 ssh_args = -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no