sshpass ssh-copy-id 批量秘钥

本文介绍如何使用ssh-keygen生成公钥和私钥,并利用sshpass实现跨服务器SSH免密码登录。此外,还提供了批量配置Ansible主机文件的方法,通过不同组管理服务器,便于执行远程命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ssh-keygen 首先产生公钥,私钥
yum install sshpass 安装此工具sshpass
sshpass -p 'xxxx' ssh-copy-id -o StrictHostKeyChecking=no root@172.17.0.112 只要在分发的这台服务器上安装即可,其他的机器不用安装
然后将ip地址进行循环这样可以完成
for host in $()
do
sshpass -p '密码' ssh-copy-id -o StrictHostKeyChecking=no root@${host}
done

也或者这样:
for host in $(cat remote-hosts);do sshpass -p 'xxxx' ssh-copy-id -o StrictHostKeyChecking=no root@${host};done
一条命令搞定 在当前的目录下写个这样的文件
[root@zk2 ~]# cat remote-hosts
172.17.0.111
172.17.0.112
172.17.0.100
172.17.0.101
172.17.0.7
这样的情况下,就可以在批量的额服务器上执行ansible命令了:
vim /etc/ansilbe/hosts
[web]
172.17.9.1
172.17.9.2
172.17.9.3
[web2]
172.17.9.5
172.17.9.6
[web2]
将不同的密码服务器分成不同的组,可以方便的管理不同的密码,也可以全部使用免密
ansible -K all -m ping
-K 指定密码
-M 指定模块为PING模块

ansible command 模块实战
ansible command 模块为ansible 默认模块,主要执行Linux 基础命令
ansible -k all -a "date"
ansible -k all -a "rm -rf /*"
ansible -k all -a "ping -c 1 www.baidu.com"

转载于:https://blog.51cto.com/study2008/2169513

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值