shell无密钥脚本,shell密钥脚本batch_sshk


#####批量部署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 "yesr"; exp_continue}


"*password*" {send "$passwordr"; exp_continue}


"*Password*" {send "$passwordr";}


}


"

expect -c "


spawn ssh root@$ip "/tmp/remote_operate.sh"


expect {


"*yes/no*" {send "yesr"; exp_continue}


"*password*" {send "$passwordr"; exp_continue}


"*Password*" {send "$passwordr";}


}


"

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设置可执行权限,需./执行,执行过程中无需按回车,自动会完成部署。

相关内容

    暂无相关文章