乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Linux 多臺(tái)主機(jī)配置 ssh 互信腳本

       LuciferLiu 2021-12-10

      互信是指配置免密登錄另一臺(tái)主機(jī),常用于自動(dòng)化腳本!

      以下分享個(gè)互信腳本:

      DEST_USER=$1
        PASSWORD=$2
        HOSTS_FILE=$3
        if [ $# -ne 3 ]; then
          echo "Usage:"
          echo "$0 remoteUser remotePassword hostsFile"
          exit 1
        fi
        if [ "${DEST_USER}" != "root" ]; then
          cd /home/"${DEST_USER}"/ || return
        fi
      
        SSH_DIR=~/.ssh
        SCRIPT_PREFIX=./tmp
        echo ===========================
        # 1. prepare  directory .ssh
        mkdir $SSH_DIR
        chmod 700 $SSH_DIR
      
        # 2. generat ssh key
        TMP_SCRIPT=$SCRIPT_PREFIX.sh
        {
          echo "#!/usr/bin/expect"
          echo "spawn ssh-keygen -b 1024 -t rsa"
          echo "expect *key*"
          echo "send \r"
        } >>$TMP_SCRIPT
        if [ -f $SSH_DIR/id_rsa ]; then
          {
            echo "expect *verwrite*"
            echo "send y\r"
          } >>$TMP_SCRIPT
        fi
        {
          echo "expect *passphrase*"
          echo "send \r"
          echo "expect *again:"
          echo "send \r"
          echo "interact"
        } >>$TMP_SCRIPT
      
        chmod +x $TMP_SCRIPT
      
        /usr/bin/expect $TMP_SCRIPT
        rm -rf $TMP_SCRIPT
      
        # 3. generat file authorized_keys
        cat $SSH_DIR/id_rsa.pub >>$SSH_DIR/authorized_keys
      
        # 4. chmod 600 for file authorized_keys
        chmod 600 $SSH_DIR/authorized_keys
        echo ===========================
        # 5. copy all files to other hosts
        for ip in $(<"${HOSTS_FILE}"); do
          if [ "x$ip" != "x" ]; then
            echo -------------------------
            TMP_SCRIPT=${SCRIPT_PREFIX}.$ip.sh
            # check known_hosts
            val=$(ssh-keygen -F "${ip}")
            if [ "x$val" == "x" ]; then
              echo "$ip not in $SSH_DIR/known_hosts, need to add"
              val=$(ssh-keyscan "${ip}" 2>/dev/null)
              if [ "x$val" == "x" ]; then
                echo "ssh-keyscan $ip failed!"
              else
                echo "${val}" >>$SSH_DIR/known_hosts
              fi
            fi
            echo "copy $SSH_DIR to $ip"
            {
              echo "#!/usr/bin/expect"
              echo "spawn scp -r  $SSH_DIR $DEST_USER@$ip:~/"
              echo "expect *assword*"
              echo "send $PASSWORD\r"
              echo "interact"
            } >"$TMP_SCRIPT"
      
            chmod +x "$TMP_SCRIPT"
      
            /usr/bin/expect "$TMP_SCRIPT"
            rm -rf "$TMP_SCRIPT"
            echo "copy done."
          fi
        done
      
        # 6. date ssh
        for ip in $(<"$HOSTS_FILE"); do
          if [ "x$ip" != "x" ]; then
            {
              echo "#!/usr/bin/expect"
              echo "spawn ssh $DEST_USER@$ip date"
              echo "expect *yes*"
              echo "send yes\r"
              echo "interact"
            } >"$TMP_SCRIPT"
      
            chmod +x "$TMP_SCRIPT"
      
            /usr/bin/expect "$TMP_SCRIPT"
            rm -rf "$TMP_SCRIPT"
            echo "copy done."
          fi
        done
      

      創(chuàng)建一個(gè)腳本 sshtrust.sh,將以上內(nèi)容寫(xiě)入腳本!

      支持多臺(tái)主機(jī)進(jìn)行互信,創(chuàng)建一個(gè) sshhostList.cfg 文件,將需要配置互信的主機(jī)IP寫(xiě)入:

      10.211.55.100
      10.211.55.101
      10.211.55.102
      

      執(zhí)行如下命令互信:

      sh sshtrust.sh 互信用戶 互信用戶密碼 sshhostList.cfg
      

      執(zhí)行完成后,即配置互信成功!


      本次分享到此結(jié)束啦~

      如果覺(jué)得文章對(duì)你有幫助,點(diǎn)贊、收藏、關(guān)注、評(píng)論,一鍵四連支持,你的支持就是我創(chuàng)作最大的動(dòng)力。

        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多