expect一键实现集群ssh免密登入
admin
2023-03-19 06:01:57
0

expect具有非交互式功能

yum -y install expect

mkpasswd -l 20   #<==生成随机字符串,-l参数指定生成字符串的长度


非交互密钥分发

添加用户(所有机器)

useradd jiege1

echo 123456|passwd --stdin jiege1

id jiege1


10创建密钥对

su - jiege1

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa>/dev/null 2>&1


10一键分发公钥expect脚本没指定主机

vim fenfa_sshkey.exp

#!/usr/bin/expect

if { $argc != 2 } {

  send_user"usage:expect fenfa_sshkey.exp file host\n"

  exit

}

#define var

set file [lindex $argv 0]

set host [lindex $argv 1]

set password "123456"

#spawn scp /etc/hosts root@10.0.0.142:/etc/hosts

#spawn scp -P6666 $file jiege1@$host:$dir

spawn ssh-copy-id -i $file "-p6666 jiege1@$host"

expect {

   "yes/no"   {send "yes\r";exp_continue}

   "*password"   {send "$password\r"}

}

expect eof

 

exit -onexit {

  send_user"jiege say good bye to you!\n"

}


expect fenfa_sshkey.exp .ssh/id_dsa.pub 192.168.169.11

#需手动输入公钥和ip,但是不用手动输yes和密码了(expect非交互式功能)可以把fenfa_sshkey.exp写入脚本一键实现集群通过主服务器ssh免密登入 


批量写入多台主机

vim fenfa_sshkey.sh

#!/bin/sh

. /etc/init.d/functions

for ip in 11 12 13 14 15

do

  expect fenfa_sshkey.exp ~/.ssh/id_dsa.pub 192.168.169.$ip >/dev/null 2>&1

  if [ $? -eq 0 ];then

     action "$ip" /bin/true

  else

     action "$ip" /bin/false

  fi

done


注意此脚本要和fenfa_sshkey.exp一个目录

相关内容

热门资讯

【今日要闻】“大师棋牌到底是不... 【今日要闻】“大师棋牌到底是不是挂?”(必胜开挂神器)您好,大师棋牌这个游戏其实有挂的,确实是有挂的...
玩家攻略科普“微信麻将怎么开挂... 您好:微信麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游戏...
今日重大通报“天天麻将有没有挂... 您好:天天麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游戏...
终于懂了“胡乐晋中麻将到底是不... 网上科普关于“胡乐晋中麻将有没有挂”话题很是火热,小编也是针对胡乐晋中麻将作*弊开挂的方法以及开挂对...
【第一资讯】“博雅地方棋牌辅助... 有 亲,根据资深记者爆料博雅地方棋牌是可以开挂的,确实有挂(咨询软件无需...
终于明白“好玩茶楼到底是不是挂... 有 亲,根据资深记者爆料好玩茶楼是可以开挂的,确实有挂(咨询软件无需打开...
重磅消息“圣盛游戏怎么开挂?”... 重磅消息“圣盛游戏怎么开挂?”(详细开挂教程)您好,圣盛游戏这个游戏其实有挂的,确实是有挂的,需要了...
【今日要闻】“新西游辅助器?”... 【今日要闻】“新西游辅助器?”(其实是有挂)您好,新西游这个游戏其实有挂的,确实是有挂的,需要了解加...
今日重大通报“众合推扑克到底是... 网上科普关于“众合推扑克有没有挂”话题很是火热,小编也是针对众合推扑克作*弊开挂的方法以及开挂对应的...
【第一财经】“yy比鸡有没有挂... 网上科普关于“yy比鸡有没有挂”话题很是火热,小编也是针对yy比鸡作*弊开挂的方法以及开挂对应的知识...