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


===============================================================================
建立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 root@buddytj-10
 
证书就生成了。   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 < passwd.txt
 Changing password for user root.
 passwd: all authentication tokens updated successfully  
 修改完成
===============================================================================


===============================================================================
批量修改主机密码 (继续完成中!!!!!!!!!!!!!!!)
批量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 < passwd.tmp
else
   echo "$R_HOSTNAME ($IP)'s Passwd.tmp is create fail\nplease check"
fi
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

转载于:https://www.cnblogs.com/starspace/archive/2008/10/30/1323043.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值