zoukankan      html  css  js  c++  java
  • ssh免密验证,shell批量设置

    ssh免密验证,shell批量设置

    #ssh免密验证,shell自动设置
    echo '#!/bin/sh
    . /etc/init.d/functions
    [[ -f /usr/bin/expect ]] || { echo "install expect";yum install expect -y; } #若没expect则安装
    [ $? = 0 ] || { echo "expect安装失败";exit; } #安装失败则退出
    PUB=/'`whoami`'/.ssh/id_dsa.pub #公钥路径
    [[ -f $PUB ]] || { ssh-keygen -t dsa -P "" -f /'`whoami`'/.ssh/id_dsa>/dev/null 2>&1; } #若没公钥则生成
    
    USER=root   #登录用户
    PASS=123321 #登录密码
    #expect自动交互
    function EXP() {
    /usr/bin/expect << EOF
    set timeout 5
    spawn /usr/bin/ssh-copy-id -i $PUB  $USER@$n
    expect {
            "*yes/no*" { send "yes
    ";exp_continue }
            "password:" { send "$PASS
    ";exp_continue } 
            eof { exit }
            }
    EOF
    }
    #
    for n in $*
    do
      EXP >/dev/null 2>&1
      echo $n hostname >/dev/null 2>&1
      [[ $? == 0 ]] && action "========$n" /bin/true || action "========$n" /bin/false
    done
    '>./ssh.sh
    ##################以上是生成shell文件ssh.sh##################
    
    #hosts设置
    echo '
    192.168.58.21   controller1
    192.168.58.22   controller2
    192.168.58.23   controller3
    '>>/etc/hosts
    
    #执行shell文件,ssh批量认证
    sh ./ssh.sh controller1 controller2 controller3
  • 相关阅读:
    C#基础
    自动化测试
    C# 数据结构题目
    .NET基础知识
    Sharepoint题目
    题目总结2
    数据库索引
    题目总结(2014-1-10)
    Stack详解
    SpringBoot入门基础知识点
  • 原文地址:https://www.cnblogs.com/elvi/p/7681779.html
Copyright © 2011-2022 走看看