Linux批量建立主机信任关系

Linux批量建立主机信任关系

1.实现环境:
本机redhat6.3 32位的操作系统
2.实现目的:
对其他主机做信任,使本机登录其他主机不需要输入密码
3.实现过程:
 1)先在本机用ssh-keygen -t rsa生成公钥,生成~/.ssh/id_rsa.pub公钥文件
 2)安装软件包sshpass-1.04.tar.gz
   tar -zxvf sshpass-1.04.tar.gz
   cd sshpass-1.04
   ./configure
   make && make install
  3)把 StrictHostKeyChecking no加到/etc/ssh/ssh_config可以让ssh客户端自动接受新主机的hostkey,不用每次在ssh新主机时都自己输入yes 
  4)编写hostlist文件,里面列举了主机名(ip地址)和主机密码(主机名和密码之间用空格隔开),一行内只有一对主机名和密码 
  5)执行批量建立主机信任关系的脚本trusthost.sh
  
#!/bin/bash
#author:cq
#date:06-04-2013
hosts=`sed '/^#/d' ~/trusthost/hostlist | awk '{print $1}'`
id=`cat ~/.ssh/id_rsa.pub`
for host in $hosts
do 
   ping -c 2 -W 1 $host
   if [ $? = 0 ]
   then
      passwd=`awk /$host/'{print $2}' ~/trusthost/hostlist`
      sshpass -p "$passwd" ssh $host "echo $id >>~/.ssh/authorized_keys"
    else
      echo "$host is lost" >~/trusthost/ssh.log
    fi
done

你可能感兴趣的:(Linux批量建立主机信任关系)