您的位置:首页 > 运维架构 > Linux

通过SSH信任关系,批量修改LINUX密码

2010-08-31 23:54 525 查看
通过SSH信任关系,批量修改LINUX密码
作者:IORI 原创 2007-2-28 15点 于CC

===============================================================================
建立SSH信任
将A主机做为客户端(发起SSH请求)
将B主机作为服务器端(接收ssh请求)
以上以主动发起SSH登录请求的主机和接收请求的主机进行分类
1.
A主机生成公,私钥证书

[root@buddytj-10 .ssh]# ssh-keygen -t rsa #rsa算法的证书
Generating public/private rsa key pair. (以下一路回车)
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y (因为我的证书已存在,覆盖即可)
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:
c1:26:cc:88:2b:05:dd:c3:6b:1e:78:5d:da:9c:da:8a
[email=root@buddytj-10]root@buddytj-10[/email]

证书就生成了。 id_rsa (私钥)|| id_rsa.pub (公钥)
2.
将A主机生成的公钥传递给B主机
[root@buddytj-10 .ssh]#scp id_rsa.pub 60.28.*.*:/root/.ssh/
3.
在B主机上将A的公钥更名为
[root@buddytj-11 .ssh]#mv id_rsa.pub authorized_keys
4.至此从A主机远程SSH B主机的工作即告完成
超EASY
===============================================================================

===============================================================================
修改B主机的密码SHELL
A#echo ’your_config_passwd’ > passwd.txt (建立一个密码文件,输入你要的密码)
#ssh 60.28.*.* passwd root --stdin [b]三
===============================================================================
批量修改主机密码 (继续完成中!!!!!!!!!!!!!!!)
批量SHELL小例,其中更有些不完善的地方!使用中请注意

#!/bin/bash
###################Though ssh remote server ,auto modify ROOT passwd###########

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

do

##############获得远程主机的用户名###############################################
##############这个程式是通过获得远程主机名,利用这个名字为每一台设备添加自己的专用密码###
##############如果密码均一致,不用效仿#############################################

R_HOSTNAME=`ssh $IP cat /etc/sysconfig/network|awk -F = ’/HOSTNAME/ {print $2}’`

#echo $R_HOSTNAME

#################创建远程主机密码################################################
CREATE_PWD=`echo $R_HOSTNAME|awk -F - ’{print $2}’|tr ’[a-z]’ ’[A-Z]’`
echo "${CREATE_PWD}123" > passwd.tmp

###################修改远程主机密码##############################################
if [ $? = 0 ] ; then
ssh $IP passwd root --stdin
if [ $? = 0 ] ; then
echo "The $R_HOSTNAME ($IP) passwd is modify OK"
else
echo -e "The $R_HOSTNAME ($IP) passwd is modify fail\n"
echo "please you check"
fi
done

===============================================================================

创建于2007-2-28
修改于2007-3-2[/b]

批量修改主机密码

cat ip.txt |while read line
do
echo "###############Now change the passwd of $line##################"
a=`echo $line|awk -F'.' '{print $4}'`;
c=`echo $a|wc -c`;
if [ $c -lt 4 ]
then
if [ $c == 3 ]
then
d=Aug*0${a}$;
elif [ $c == 2 ]
then
d=Aug*00${a}$;
fi
else
d=Aug*${a}$;
fi
echo "d=$d"
echo "root:${d}" >/root/.ssh/passwd/temp;
scp /root/.ssh/passwd/temp ${line}:/root/temp;
ssh $line "chpasswd </root/temp";
ssh $line "rm -rf /root/temp";
done

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: