
Linux服务器密码批量修改
读取远程服务器IP列表 生成随机密码 批量修改远程服务器根账户密码 记录操作日志 如果远程服务器未修改默认SSH端口,默认使用22端口即可。 确保
发布日期:2025-04-09 15:53:22
浏览次数:10
分类:精选文章
本文共 1778 字,大约阅读时间需要 5 分钟。
建立信任关系
在企业网络中,管理机与远程服务器之间的信任关系是日常运维的基础之一。本文将详细介绍如何通过生成SSH证书实现双方的互信,还将分享一个自动化shell脚本来批量修改远程服务器的密码。
1. 在管理机生成证书
生成SSH证书对是建立管理机与远程服务器之间信任关系的第一步。以下是操作步骤:
[root@manage ~]# ssh-keygen -t rsa
随后,系统会引导您输入生成证书的存储路径和密码。默认情况下,证书会被存储在/root/.ssh/id_rsa
,公钥保存在/root/.ssh/id_rsa.pub
。
2. 将管理机上的公钥传送到各远程服务器
通过将管理机的公钥添加到远程服务器的~/.ssh/authorized_keys
文件中,可以实现双向信任。以下是传输过程:
[root@manage .ssh]# scp id_rsa.pub 192.168.9.201:/root/.ssh/authorized_keys[root@manage .ssh]# scp id_rsa.pub 192.168.9.202:/root/.ssh/authorized_keys
注意:如果远程服务器修改了默认的SSH端口号,请在命令中添加 -P 17173
(17173为具体端口号)。
通过shell脚本批量修改远程服务器密码
在企业环境中,批量修改远程服务器密码是一个常见需求。以下是一个自动化shell脚本的实现方案。
脚本概述
脚本主要功能包括:
脚本结构如下:
#!/bin/bash# 读取IP列表IP_LIST=`cat /root/ip_list.txt`# 生成随机密码TMP_PWD=`mkpasswd -l 8 -C 3`# 生成文件名R_PWD=`echo ${IP}_${TMP_PWD}`
密码生成与写入文件
脚本将生成符合指定规格的随机密码,并将其写入文件R_PWD.txt
中:
TMP_PWD=`mkpasswd -l 8 -C 3`R_PWD=`echo ${IP}_${TMP_PWD}`echo "${IP}_${TMP_PWD}" > R_PWD.txt
批量修改远程服务器密码
脚本将根据IP列表,逐一连接远程服务器并修改密码:
for IP in `cat /root/ip_list.txt`do if [ $? = 0 ] then ssh $IP passwd root --stdin < R_PWD.txt echo -e "$(date +%Y-%m-%d %H:%M:%S) $IP ${R_PWD}" >> R_Server.log else echo -e "$(date +%Y-%m-%d %H:%M:%S) $IP R_PWD.txt is create fail please check! " >> M_pass.log fidone
失败处理
脚本还包含错误处理机制,确保在修改过程中出现异常时,能够记录详细日志:
if [ $? = 0 ]then echo -e "$(date +%Y-%m-%d %H:%M:%S) The $IP passwd is modify OK" >> M_pass.logelse echo -e "$(date +%Y-%m-%d %H:%M:%S) The $IP passwd is modify fail please check! " >> M_pass.logfi
安装依赖
在使用mkpasswd
之前,需要先安装expect
工具:
yum -y install expect
注意事项
ip_list.txt
中仅包含有效的远程服务器IP地址。mkpasswd
的默认密码长度为10,包含2个数字、2个小写字母和2个大写字母。如果需要自定义规格,可以添加相关参数。总结
通过以上方法,您可以轻松地建立管理机与远程服务器之间的信任关系,并使用自动化脚本批量修改远程服务器密码。这一解决方案既高效又安全,适合大规模企业网络环境。
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年05月19日 01时35分42秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux常用命令大全
2023-02-04
Linux常用命令总结
2023-02-04
Linux常用命令汇总
2023-02-04
Linux常用命令详解与示例
2023-02-04
linux常用命令:cal 命令
2023-02-04
Linux常用命令:touch
2023-02-04
Linux常用嗅探工具(1):fping命令
2023-02-04
linux常用基本命令
2023-02-04
Linux常用基本命令(xargs )
2023-02-04
linux常用快捷键
2023-02-04
Linux常用的网络命令有哪些?快速入门!
2023-02-04
linux常见命令
2023-02-04
linux常见操作命令及操作符意思
2023-02-04
Linux常见操作命令整理
2023-02-04
Linux平台安装mongoDB、配置及端口开启
2023-02-04
linux库列表
2023-02-04
linux开启nscd服务缓存加速-DNS缓存
2023-02-04
Linux开放的端口太多了?教你一招找出所有开放的端口,然后直接干掉!
2023-02-04
Linux开机启动、利用crontab实现开机启动某个程序
2023-02-04
linux开机启动脚本制作
2023-02-04