批量修改远程linux服务器密码

#!/bin/bash

# BY kerryhu

# MAIL:king_819@163.com

# BLOG:http://kerry.blog.51cto.com

# Please manual operation yum of before Operation.....

一、建立信任关系

192.168.9.203 为管理机

192.168.9.201 192.168.9.202 为远程linux服务器

1、在管理机生成证书、

[root@manage ~]# ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

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:

36:ec:fc:db:b0:7f:81:7e:d0:1d:36:5e:29:dd:5b:a0

2、将管理机上的公钥传送到各远程服务器

如远程服务器更改了默认的ssh端口号,就使用scp -P 17173,17173为端口号

[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

管理机与远程主机信任关系建立完毕

二、通过shell脚本批量修改远程服务器密码

如果要调用mkpasswd就得安装expect,使用mkpasswd可以随机产生密码

usage: mkpasswd [args] [user]

where arguments are:

-l # (length of password, default = 10)

-d # (min # of digits, default = 2)

-c # (min # of lowercase chars, default = 2)

-C # (min # of uppercase chars, default = 2)

-s # (min # of special chars, default = 1)

-v (verbose, show passwd interaction)

-p prog (program to set password, default = passwd)

比如说你要指定一个长度为8,而且至少有三个大写字母的密码,那么可以这样输入:

mkpasswd -l 8 - C 3,好了,密码就会按你的要求随机产生了

yum -y install expect

ip_list.txt为远程服务器IP列表

[root@manage .ssh]# cat ip_list.txt

192.168.9.201

192.168.9.202

如果远程服务器修改了默认ssh的端口号,就使用ssh -p 17173,17173为端口号

#!/bin/bash

#============== Though ssh remote server ,auto modify ROOT passwd =============#

for IP in `cat /root/ip_list.txt` #导入远程要修改主机的IP

do

#========================= 创建远程主机密码 ==========================#

TMP_PWD=`mkpasswd -l 8 -C 3`

R_PWD=`echo ${IP}_${TMP_PWD}`

echo "${IP}_${TMP_PWD}" > R_PWD.txt

#=========================== 修改远程主机密码 ========================#

if [ $? = 0 ] ; then

ssh $IP passwd root --stdin < R_PWD.txt

echo -e "$(date "+%Y-%m-%d %H:%M:%S")t${IP}t${R_PWD}t" >> R_Server.log

else

echo -e "$(date "+%Y-%m-%d %H:%M:%S")t${IP} R_PWD.txt is create failtplease check!t" >> M_pass.log

fi

if [ $? = 0 ] ; then

echo -e "$(date "+%Y-%m-%d %H:%M:%S")tThe ${IP} passwd is modify OKt" >> M_pass.log

else

echo -e "$(date "+%Y-%m-%d %H:%M:%S")tThe ${IP} passwd is modify failtplease check!t" >> M_pass.log

fi

done

(0)

相关推荐

  • 如何用XShell连接远程Linux服务器

    我们平时操作远程Linux服务器的时候经常需要XShell工具进行连接,那么如何操作呢?下面小编给大家演示一下. 操作方法 01 首先我们打开XShell工具,点击顶部的打开选项,如下图所示 02 接 ...

  • MacOS系统下用SSH连接远程Linux服务器

    很多时候,我们需要在MAC电脑上用SSH远程连接MAC服务器或者是Linux服务器,如何进行操作呢,其实很简单,跟着小编学习一下. 1.打开Mac终端 2.切换到root登录 输入命令:sudo -i ...

  • 在Windows上使用putty远程登录Linux服务器的简单教程

    Linux大多应用于服务器,而服务器不可能像PC一样放在办公室,它们是放在IDC机房的,所以我平时登录linux系统都是通过远程登录的.Linux系统中是通过ssh服务实现的远程登录功能.默认ssh服 ...

  • 如何通过ssh工具远程连接linux服务器

    我们搭建的linux服务器经常会用到ssh工具,他是linux的远程工具之一,那如何通过它去远程连接呢,下面我就为大家解答一下. 操作方法 01 首先运行ssh工具,点击"profiles& ...

  • 服务器密码如何修改?

    今天给大家介绍下服务器的密码怎么修改? 操作方法 01 在桌面右击我的电脑选择管理 02 在本地用户和组里面--用户--找到administrator默认管理用户 03 右击选择设置密码 04 填入新 ...

  • SADP 软件批量修改IP 功能介绍

    新设备怎么激活?IP不知道,怎么查找?摄像机太多,想批量修改IP?没关系,SADP(设备网络搜索)一个软件统统搞定. 今天我们来学习一下SADP 软件批量修改IP 功能介绍. 操作方法 01 一步步来 ...

  • 修改远程服务器登录密码

    怎样修改远程服务器的密码,但是该网友未提供自己的系统版本,这里下文以windows系统为准,文末附带linux系统修改方法 远程服务器自然不方便用家里的ctr-ali-del组合,命令行又长的有点吓人 ...

  • 阿里云linux服务器修改root管理密码教程

    阿里云主机己是国内小型站长的一个非常好的选择了,不但技术成熟并且网络质量非常的好了,下面我们来看看阿里云linux服务器修改root管理密码方法,希望能帮助到各位。 阿里云linux服务器修改root ...

  • 阿里云linux服务器如何修改root管理密码

    阿里云主机己是国内小型站长的一个非常好的选择了,不但技术成熟并且网络质量非常的好了,下面我们来看看阿里云linux服务器修改root管理密码方法,希望能帮助到各位. 阿里云linux服务器修改root ...