码迷,mamicode.com
首页 > 系统相关 > 详细

Linux批量部署无密钥脚本

时间:2015-05-31 01:37:29      阅读:344      评论:0      收藏:0      [点我收藏+]

标签:linux expect pssh ssh密钥

##### 批量部署ssh私钥认证 #####

一、首先安装expect,直接yum即可

二、批量部署ssh私钥脚本

batch_sshkey.sh
==============================================================

#!/bin/bash

cd /root

cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys

for i in `cat ip.txt`
do
ip=$(echo "$i"|cut -f1 -d":")
password=$(echo "$i"|cut -f2 -d":")
 

expect -c "
spawn scp /root/.ssh/authorized_keys /root/remote_operate.sh  root@$ip:/tmp/
        expect {
                \"*yes/no*\" {send \"yes\r\"; exp_continue}
                \"*password*\" {send \"$password\r\"; exp_continue}
                \"*Password*\" {send \"$password\r\";}
        }
"

expect -c "
spawn ssh root@$ip "/tmp/remote_operate.sh"
        expect {
                \"*yes/no*\" {send \"yes\r\"; exp_continue}
                \"*password*\" {send \"$password\r\"; exp_continue}
                \"*Password*\" {send \"$password\r\";}
        }
"

done

============================================================

ip.txt(前面是IP,后面是密码,用冒号:分割)

192.168.8.23:123456
192.168.8.24:456789

============================================================

 remote_operate.sh

#!/bin/bash

if [ ! -d /root/.ssh ];then 
mkdir /root/.ssh
fi
cp /tmp/authorized_keys /root/.ssh/

 

==========================================================

运行batch_sshkey.sh即可。


batch_sshkey.sh设置可执行权限,需./执行,执行过程中无需按回车,自动会完成部署。

Linux批量部署无密钥脚本

标签:linux expect pssh ssh密钥

原文地址:http://8490919.blog.51cto.com/8480919/1656659

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!