查看ansible配置文件下的hosts的文件
[root@ansible-server scripts]# cat /etc/ansible/hosts [test] 172.16.16.7 172.16.16.8 [root@ansible-server scripts]#
1.生成秘钥对
ssh-keygen -t rsa -f ~/.ssh/id_dsa -P ‘‘" -q #生产密钥对,免交互,并安静输出
这个命令会产生一个公钥(~/.ssh/id_dsa.pub)和密钥(~/.ssh/id_dsa),
-t dsa:表示使用密钥的加密类型,可以为‘rsa‘和‘dsa‘
-P ‘‘:表示不需要密码登录
-f ~/.ssh/id_dsa:表示密钥存放的路径为${USER}/.ssh/id_dsa
ssh-copy-id -i ~/.ssh/id_dsa.pub username@ip,hostname #如果你是单台机器的话,可以使用这种方式把公钥文件传递到对方主机
//被控主机下的文件信息
2.使用ansible-playbook来生成推送ymal文件
这里使用到了authoried_keys模块
# Using alternate directory locations: - hosts: test //可以是组也可以是全部 user: root //推送所使用的用户 tasks: - name: ssh-copy authorized_key: user=root key="{{ lookup(‘file‘, ‘/root/.ssh/id_dsa.pub‘) }}"
3.测试
[root@ansible-server scripts]# ansible all -m command -a date 172.16.16.8 | SUCCESS | rc=0 >> Mon Mar 4 22:24:56 EST 2019 172.16.16.7 | SUCCESS | rc=0 >> Mon Mar 4 22:24:56 EST 2019 [root@ansible-server scripts]#
原文:https://www.cnblogs.com/dengcongcong/p/10475580.html