实现了 主机到指定机器的ssh免密码登录。 若要实现互通, 则在机器列表的每台机器上执行该脚本。

192.168.1.22 root test
192.168.1.25 root test
192.168.1.26 root test

info.list 如上结构。

脚本使用expect命令,需要安装expect包,centos下使用 yum instal expect

#!/usr/bin/expect
set info [open "info.list" r]
set ips [list]
while {[gets $info line] != -} {
#scan $line "%s %s %s" ip user pass
lappend ips $line
}
puts $ips
close $info
#轮询调用ssh-keygen
foreach line $ips { scan $line "%s %s %s" ip user pass
puts $ip

#移到循环外面
spawn ssh-keygen -t rsa &>/dev/null spawn ssh-copy-id -i /root/.ssh/id_rsa.pub $user@$ip
#输入登录密码
expect {
"(yes/no)?" {
send "yes\r"
expect "password:" {
send "$pass\r"
expect "*denied*"{puts "wrong pass"; exit }
}
}
"password:" {
send "$pass\r"
expect "*denied*" {puts "wrong pass"; exit }
}
}
}

ssh 互通脚本的更多相关文章

  1. 20181225-Linux Shell Bash环境下自动化创建ssh互信脚本

    20181225-Linux Shell Bash环境下自动化创建ssh互信脚本 1. 我的Blog 博客园 https://www.cnblogs.com/piggybaba/ 个人网站 http: ...

  2. ssh爆破脚本

    前些天,基友发我一个ssh爆破工具,看起来很吊的样子.然后我就无聊自己写了个py脚本的. 单线程:慢成狗----- #coding:utf-8 #author:jwong import threadi ...

  3. 批量配置SSH互信脚本

    在大规模自动化部署时我们常常需要配置好服务器的SSH互信,以便自动化脚本可以免密登录远程服务器,常规的手动配置SSH互信步骤如下: 使用ssh-keygen生成本地ssh key(mha01),生成的 ...

  4. SSH工具脚本录入

    SSH工具提供的脚本录制功能如下: Xshell:登陆脚本 SecretCRT:录制脚本,保存本地,登陆后选择执行 mRemoteNG :暂时没发现有脚本录入功能

  5. SSH交互式脚本StrictHostKeyChecking选项 benchmode=yes

    SSH 公钥检查是一个重要的安全机制,可以防范中间人劫持等黑客攻击.但是在特定情况下,严格的 SSH 公钥检查会破坏一些依赖 SSH 协议的自动化任务,就需要一种手段能够绕过 SSH 的公钥检查. 什 ...

  6. 【Linux】ssh互信脚本

    使用互信脚本的时候,需要敲回车,但是shell脚本无法满足,所以需要用到expect脚本 rpm -qa | grep expect 如果没有的话,直接用yum安装即可 yum install exp ...

  7. 11、ssh自动化脚本编写

    11.1.如何一键自动化安装50台规模集群网站搭建: 1.自动化思路: kickstart无人值守安装linux系统(自动创建用户.密码.优化): 分发机上创建秘钥对.批量发走公钥(expect): ...

  8. Delphi,C语言互通脚本引擎研究

    基于大神akuma的脚本引擎. 下面是demo

  9. expect 分发ssh key脚本

    #!/usr/bin/expect } { send_user "USAGE:expect_sshkey.exp host" exit } #define var set host ...

随机推荐

  1. 2017.1.8a版给信息源新增:max_len、max_db字段

    2017.1.8a版程序给信息源增加max_len.max_db字段,分别用于控制:获取条数.数据库保留条数. max_len的说明见此图: max_db的说明见此图: 当max_len和max_db ...

  2. Extjs各版本的下载链接

    Extjs的版本繁多,本文收集了Extjs各个版本的下载链接,包括官网和非官网的,以及各种汉化版api,欢迎大家下载分享. Extjs最新版下载链接:http://www.sencha.com/pro ...

  3. MySql取得日期(前一天、某一天)

    在测试一个统计表格,发现每次手写一个地址实在很烦,干脆就搞个自动计算好时间区间的东西.以下内容作为收获吧! 取得当天: SELECT curdate(); mysql> SELECT curda ...

  4. HighCharts使用心得

    HighCharts使用心得 前言: 之前很早的一个项目中使用过highcharts,感觉挺方便的,图表类型也比较丰富,而且还支持数据的下钻,但是如果投入商业使用的话还会有一些版权的问题,所以后来就使 ...

  5. Apache-Maven学习(转)

    之前听同学说过关于他们公司使用Maven框架来做项目管理,后来也跟他一起参与过一个小的项目,但没有仔细的去搞,现在好好学习一下. 文章转载自:易百教程 [http:/www.yiibai.com] A ...

  6. StringIO学习

    StringIO StringIO的行为与file对象非常像,但它不是磁盘上文件,而是一个内存里的“文件”,我们可以将操作磁盘文件那样来操作StringIO.一个简单的例子,让你对StringIO有一 ...

  7. 圆内接三角形(X神的代码玩的真好)

    设$S$为半径等于$1$的圆内接三角形的面积,则$4S+\dfrac 9S$的最小值是_______. [分析与解] 先证明$S$的最大值为$\dfrac{3\sqrt 3}4$.设$\triangl ...

  8. 从头来之【图解针对虚拟机iOS开发环境搭建】

    1.下载Mac OSX10.9. 点击下载 2.下载VMware Workstation 10,点击下载,网页中包含序列号.安装VM. 3.VM10-MacOS补丁.用于创建苹果虚拟机. 安装VM就不 ...

  9. android studio This client is too old to work with the working copy at

    http://www.cnblogs.com/maijin/archive/2013/01/09/2852330.html http://stackoverflow.com/questions/283 ...

  10. 慕客网laravel学习笔记

    session中set方法使用 Session::set('user.username.age','18')嵌套使用得出$user = ['username'=>['age'=>18]]; ...