expect一键实现集群ssh免密登入-创新互联

expect具有非交互式功能

十多年的安宁网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整安宁建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“安宁网站设计”,“安宁网站推广”以来,每个客户项目都认真落实执行。

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一个目录

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:expect一键实现集群ssh免密登入-创新互联
当前URL:http://pwwzsj.com/article/dsihoe.html