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
转载于:https://my.oschina.net/u/1449160/blog/199771