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
  • 相关阅读:
    那些离不开的 Chrome 扩展插件
    Spring Boot 实战 —— 入门
    Maven 学习笔记
    Linux lvm 分区知识笔记
    Linux 双向 SSH 免密登录
    CentOS Yum 源搭建
    Ubuntu 系统学习
    iOS 测试三方 KIF 的那些事
    Swift 网络请求数据与解析
    iOS Plist 文件的 增 删 改
  • 原文地址:https://www.cnblogs.com/elvi/p/7681779.html
Copyright © 2011-2022 走看看