实现环境:
本机CentOS5.5 64位的操作系统(其他4版的RedHat也试验过)
实现目的:
对其他主机做信任,使本机登录其他主机不需要输入密码
实现过程:
1.先在本机用ssh-keygen -t rsa生成公钥,生成/root/.ssh/id_rsa.pub公钥文件
2.下载安装一个工具:wget
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地址和主机密码(ip和密码之间用空格隔开),一行内只有一对ip和密码
5.下面就是批量建立主机信任关系的脚本trusthost.sh:
02 | hosts=`sed '/^#/d' /root/trusthost/hostlist | awk '{print $1}'` |
03 | id=`cat /root/.ssh/id_rsa.pub` |
09 | passwd=`awk /$host/'{print $2}' /root/trusthost/hostlist` |
10 | sshpass -p "$passwd" ssh $host "mkdir /root/.ssh;echo $id >> /root/.ssh/authorized_keys" |
12 | echo "$host is lost" >> /root/trusthost/ssh.log |
此脚本默认被做信任的主机root目录下没有.ssh目录
注:最后删除hostlist文件,确保安全。
转载地址
阅读(1752) | 评论(0) | 转发(0) |