• ssh 认证指定端口


    [root@database2 ~]# cat ssh.sh 
    if [  ! $# -eq 2  ] ;then
    echo "请输入用户密码以空格分开"
    exit
    else
    ssh-keygen -t rsa
    #用户名
    uname="$1"
    #密码
    passwd="$2"
    fi
    
    
    #执行检测并安装expect模块
    ep=`rpm -qa | grep expect` 
    
    if [ -z $ep   ] ; then
     echo "检测到你的系统,没有安装expect模块,准备执行安装"
     sleep 2
     yum install -y expect
    
    else
     echo "已经安装expect模块,3秒后,开始执行ssh文件同步"
     sleep 3
    fi
    
    
    
    #公钥无ssh认证模块
    cat hosts | while read host
    do
    
    
    
    echo "当前正在向$host上传输ssh文件"
    expect <<EOF
    spawn  scp -P 9998 -r .ssh/  $host:/$uname 
    expect {
    "*yes/no" {send "yes
    " ;exp_continue}
    "*password:" {send "$passwd
    " ;exp_continue  }
    }
    
    
    EOF
    
    
    
    
    
    echo "当前正在$host上进行公钥认证....."
    sleep 2
    expect <<EOF
    spawn  ssh-copy-id    -i .ssh/id_rsa.pub "-p 9998  $uname@$host" 
    expect {
    "*yes/no" {send "yes
    " ;exp_continue}
    "*password:" {send "$passwd
    " ;exp_continue  }
    }
    
    
    EOF
    
    echo "认证成功...."
    
    done
    
    
    
    
    #切换root权限进行hosts文件分发
    
    
    
    echo "同步本机的hosts文件到各个机器上"
    
    sleep 1
    #同步本机的hosts文件到其他各个机器上

  • 相关阅读:
    使用PIE.htc 进行IE兼容CSS3
    好用的px转rem插件cssrem
    BOM基础知识
    css经典布局—stick footer布局
    input file 上传图片问题
    除自身以外数组的乘积
    2的幂
    反转字符串中的单词
    环形链表
    买卖股票的最佳时机2
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13350087.html
Copyright © 2020-2023  润新知