zoukankan      html  css  js  c++  java
  • 快速做所有主机相互认证

    脚本:

    #!/usr/bin/expect
    spawn sensors-detect
    for {set i 0} {$i<=10} {incr i} {
    expect ":"
    send "
    "
    }
    interact
    

    解释:
    spawn是启动命令
    for为循环的写法
    interact为退出
    这个脚本目的是在一次运行过程中不断模拟用户的enter操作

    设置免密码交互

    #!/bin/bash
    
    if [ ! -f "/root/.ssh/id_rsa" ]; then
    
    /usr/bin/expect <<-EOF
    spawn ssh-keygen
    expect {  
        "*save the key (/root/.ssh/id_rsa" { send "
    "; exp_continue }  
        "*(empty for no passphrase)" { send "
    "; exp_continue }  
        "*same passphrase again" { send "
    ";}  
    }  
    interact  
    expect eof
    EOF
    fi
    
    for host in `cat /etc/hosts|awk '{print $1}'`
    do
    
    passwd="ubuntu"
    /usr/bin/expect <<-EOF
    spawn ssh-copy-id root@$host
    
    expect {  
        "*yes/no" { send "yes
    "; exp_continue }  
        "*password:" { send "$passwd
    " }
        " All keys were skipped because they already exist on the remote system." {send "
    "}
    }  
    interact  
    expect eof
    EOF
    
    done
    
    

    把host文件传到所有机器
    先从第一台主机做做配置跟其他机器的交互
    然后seq把脚本传递到其他所有机器
    然后用seq 循环ssh 远程执行脚本

    变更记录

    Why Who When
    创建 武汉-运维-磨渣 2013-8-12
    更新 武汉-运维-磨渣 2015-3-23
    更新所有主机交互 武汉-运维-磨渣 2019-3-29
  • 相关阅读:
    hdu 1520
    poj 3468
    hdu 1698
    shell:实现linux服务器资源监控并发送告警邮件
    Tools:apache部署https服务
    自动化:客户端自动化工具比对
    python:爬虫获取淘宝/天猫的商品信息
    js:浏览器插件
    自动化:图像相似度比较,并标记不一样的地方
    Linux:常用命令【转载】
  • 原文地址:https://www.cnblogs.com/zphj1987/p/13575273.html
Copyright © 2011-2022 走看看