Linux系统下通过ssh免密实现一键批量关机

 

一、实验环境介绍

本文通过一台控制端机器对其他多台机器进行远程关机操作,实验IP如下:

控制端:192.168.80.177

被控制关机端:192.168.80.130192.168.80.206

二、ssh免密登录配置

以下操作均在控制端(80.177)上用root用户权限进行操作

1、生成私钥密钥对,执行ssh-keygen  -t  rsa然后一路回车即可。如下图:

2、分发ssh公钥给需要被控制的机器,执行ssh-copy-id  root@ip即可。

如本测试环境下执行ssh-copy-id  root@192.168.80.130ssh-copy-id  root@192.168.80.206

第一步输入yes并回车,

第二步输入被控iproot用户密码。

多台其他ip的机器同理进行分发。如下图

三、批量关机脚本书写

1在控制端(80.177)上创建一个shutdown.sh脚本文件,内容如下:

 

#!/bin/bash

# 服务器IP地址列表

servers=("192.168.80.206" "192.168.80.130")

# 遍历服务器列表

for server in "${servers[@]}"

do

  # 使用ssh登录到服务器并执行关机命令

  ssh root@$server 'shutdown -h now'

done

 

其中服务器IP地址列表可根据实际进行添加,空格隔开即可。

2、执行chmod  +x  shutdown.sh赋予脚本执行权限。

3、执行./shutdown.sh进行批量关机操作。

注:请执行该脚本前确认被控机器是否允许关机,防止软件运行异常或丢失重要未做备份的文件!

posted @ 2024-08-06 16:20  我还有个R  阅读(571)  评论(0)    收藏  举报