通过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
===============================================================================
批量修改主机密码 (继续完成中!!!!!!!!!!!!!!!)
批量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