ansible配置登入凭证

#登入凭证配置方式二选一(建议方案二)

方案一:使用用户名+口令ssh登录

[root@manager ~]# cat /etc/ansible/hosts

[test]

172.16.1.7 ansible_ssh_user=root ansible_ssh_pass=123456
172.16.1.8 ansible_ssh_user=root ansible_ssh_pass=123456
172.16.1.9 ansible_ssh_user=root ansible_ssh_pass=123456

方案二:预分发公钥到目标服务器

第一步:在管理服务器上创建密钥对

利用交互方式创建密钥对:

ssh-keygen  -t dsa   

默认路径:私钥(/root/.ssh/id_dsa)
公钥(/root/.ssh/id_dsa.pub)
如果是普通用户创建密钥对,公钥私钥($HOME/.ssh/)

利用免交互方式创建密钥对:

-f “/root/.ssh/id_dsa” 指定路径
-N “” 指定新密码
-P 指定旧密码
-q 或 >/dev/null 安静输出

ssh-keygen -t  dsa -f "/root/.ssh/id_dsa"  -N  ""

第二步:在管理服务器上分发公钥给被管理服务端

利用交互方式实现公钥分发

语法:ssh-copy-id [-i [identity_file]] [user@]machine

ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.7

利用免交互方式实现公钥分发

“-o strictHostKeyChecking=no” 第一次远程连接取消yes/no
echo “strictHostKeyChecking=no” >> /root/.ssh/config
“sshpass -p 123456” 不用输入密码

sshpass -p 123456 ssh-copy-id -i /root/.ssh/id_dsa.pub "172.16.1.7 -p22"

第三步:批量分发:可以通过脚本的方式,也可以通过命令行的方式

脚本:略

命令行批量分发

for i in  {7..20}; do sshpass -p 123456 ssh-copy-id -i /root/.ssh/id_dsa.pub "172.16.1.$i -p22" ;done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weike_1005

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值