使用Shell批量修改Linux服务器的IP --- shell百例
最近有一个给其他公司搭建集群的项目,目前机房有100台左右服务器,过几天差不多有80台服务器需要修改IP地址,所以打算通过虚拟机写出一个批量修改IP的shell脚本,虽然说修改IP这种事情最好不用shell来完成,但是我真不想一台一台的修改IP,而且脚本经过多遍测试,不会出现问题,且目前机房机器都是新机器没有任何业务。
- 环境准备
主机名称 | Ipv4地址 |
host1(PC服务器) | ens33: 192.168.4.1 ens34: 192.168.2.1 |
host2 | ens33: 192.168.4.2 ens34: 192.168.2.22 |
host3 | ens33: 192.168.4.10 ens34: 192.168.2.33 |
host4 | ens33: 192.168.4.20 ens34: 192.168.2.44 |
- 首先需要进行PC服务器到目标主机的免密登录
[ mod_ip]# ssh-keygen -f /root/.ssh/id_rsa -N ‘‘ #通过命令创建使用rsa算法的私钥和公钥 Generating public/private rsa key pair. Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:IjWy+w0cpresY+0KLP/+p+svF7ndcBy1Eb7IkUeKuNM The key‘s randomart image is: +---[RSA 2048]----+ | o. | | . . =o | | . o . . +.oo | | + . o ..+.. | | o + S.E.o.. | | . * oo.. o | |. o o.+ + + | | o .o+o++ . . | | .+=BXBo | +----[SHA256]-----+ [ mod_ip]# for i in 2 10 20; do ssh-copy-id 192.168.4.$i; done # 通过命令给其他3台服务器传递公钥
- 修改PC服务器的ssh配置文件,/etc/ssh/ssh_config,向文件的末尾添加两个行参数
vim /etc/ssh/ssh_config ... ... ServerAliaveInterval 1 # client每个1秒发送一次请求给server ServerAliaveCountMax 1 # client发出请求后,server没有相应次数达到1,就自动断开连接 # 设置该参数的目的:因为脚本涉及到先通过ssh连接到目标主机,然后修改网卡文件后,重启网络服务,此时如果不修改此参数,client则会一直等待服务器的相应。执行完该脚本后可以把这两个参数给注释掉。
相关推荐
JohnYork 2020-10-16
wangzhaotongalex 2020-09-22
tianhuak 2020-11-24
以梦为马不负韶华 2020-10-20
彼岸随笔 2020-10-20
yutou0 2020-10-17
applecarelte 2020-10-16
ourtimes 2020-10-16
tryfind 2020-09-14
huha 2020-10-16
laisean 2020-11-11
大牛牛 2020-10-30
firefaith 2020-10-30
liguojia 2020-10-20
wangzhaotongalex 2020-10-20
Julyth 2020-10-16
laisean 2020-09-27
flycappuccino 2020-09-27
liguojia 2020-09-27
流年浅滩 2020-10-23
liujianhua 2020-10-22
woaimeinuo 2020-10-21
tufeiax 2020-09-03
laisean 2020-09-01
vvu 2020-09-16
libao 2020-09-16
Yyqingmofeige 2020-08-18
zhushixia 2020-08-17