成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

expect實現Linux自動登陸遠程機器腳本實例

瀏覽:349日期:2023-03-07 14:40:37

expect 是由Don Libes基于Tcl(Tool Command Language )語言開發的,主要應用于自動化交互式操作的場景,借助Expect處理交互的命令,可以將交互過程如:ssh登錄,ftp登錄等交互過程,寫到Shell腳本里以實現一些自動化操作。

在 Linux 下進行遠程登陸的時候,總是要進行 ssh 輸入賬號密碼,相對比較繁瑣。

而有時候為了保護線上重要的機器不能隨便登錄,通常使用從本地登陸到公司的中間機器(跳板機)然后才能登陸到線上的機器。如果 A -> B -> C 三臺機器,如果想從 A 直接到 C 只能通過 B 進行登錄。下面的腳本就是解決這種有多個依賴的關系。

注意事項:

1. 使用實時 bash version >= 4.0,因為配置中需要使用關聯數據

2. 如果需要全局使用直接修改 autologin 的名字,移動到 PATH 路徑下即可 eg: mv autologin /usrl/local/bin/to(改為自己想要使用的名字)

腳本代碼:

#!/usr/local/bin/bash
# @Version 0.3.1
# @filename to
# 修復等不需要要配置跳板機的時候執行命令,在配置跳板機位置默認填 no 即可
# @Author pemakoa@gmail.com
# Bash version >= 4.0 使用關聯數組

# Usage: host user passwd port jump_host command 
# 四種情況如下:
# 1. 直接登錄目標機器 如 A 
# 2. 需要中間機器登陸到目標機器 如 C, 其中 B 為中間機器,會先登錄 B在從 B登陸到 C然后執行 command
# 3. 直接登錄目標機器并執行相應的命令 如 D

declare -A _server_config

_server_config["A"]="a_host a_user a_passwd a_port"
_server_config["B"]="b_host b_user b_passwd b_port"
_server_config["C"]="c_host c_user c_passwd c_port B "(command eg) ls .""
_server_config["D"]="d_host d_user d_passwd d_port no "cd /home && ll""

_config_keys=(${!_server_config[@]})
_length=${#_server_config[@]}
_login_server=$1
_config_status=false

# 是否輸入登陸機器
if [ "$_login_server" == "" ];then
    echo -e "\033[40m\033[31m Please input login server, you can choose one follows list \033[0m"
    for i in "${_config_keys[@]}";do
echo -e "\033[41;37m $i \033[0m "
    done
    exit
fi

# 檢查登陸的機器是否配置
for i in "${_config_keys[@]}";do
    if [ "$_login_server" == "$i" ];then
_config_status=true
    fi
done

if [ "${_config_status}" == "false" ];then
    echo -ne "\033[40m\033[31m
Not config server info ...
Please config in _server_config like
Host User Passwd Port Jump Command\033[0m"
    exit
fi

# 登陸 如果配置跳板機,先登陸跳板機在登陸到目標機器
_host=$(echo ${_server_config["${_login_server}"]} | awk "{print $1}")
_user=$(echo ${_server_config["${_login_server}"]} | awk "{print $2}")
_passwd=$(echo ${_server_config["${_login_server}"]} | awk "{print $3}")
_port=$(echo ${_server_config["${_login_server}"]} | awk "{print $4}")
_jump=$(echo ${_server_config["${_login_server}"]} | awk "{print $5}")
_command=$(echo ${_server_config["${_login_server}"]} | awk -F""" "{print $2}")

if [ "${_command}" != "" ]; then
    _command="expect \"*]*\"
    send \"${_command}\r\""
fi

if [ "${_jump}" != "" ] && [ "${_jump}" != "no" ]; then
    _jump_host=$(echo ${_server_config["${_jump}"]} | awk "{print $1}")
    _jump_user=$(echo ${_server_config["${_jump}"]} | awk "{print $2}")
    _jump_passwd=$(echo ${_server_config["${_jump}"]} | awk "{print $3}")
    _jump_port=$(echo ${_server_config["${_jump}"]} | awk "{print $4}")

    expect -c "
    set timeout 30
    spawn ssh -p${_jump_port} ${_jump_user}@${_jump_host}
    expect {
\"yes/no\" { send \"yes\r\"; exp_continue }
\"assword\" { send \"${_jump_passwd}\r\" }
    }

    expect \"*]*\" 
    send \"ssh -p${_port} ${_user}@${_host}\r\"
    expect \"assword:\" 
    send \"${_passwd}\r\"
    ${_command}
    interact"
else
    expect -c "
    set timeout 30
    spawn ssh -p${_port} ${_user}@${_host}
    expect {
\"yes/no\" {send \"yes\r\"; exp_continue }
\"*assword:\" { send \"$_passwd\r\" }
    }
    ${_command}
    interact
    "
fi

到此這篇關于expect實現Linux自動登陸遠程機器腳本實例的文章就介紹到這了,更多相關Linux自動登陸腳本內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Linux Apache
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
成人免费视频视频| 亚洲综合男人的天堂| 国产精品视频一区二区三区不卡| 99久久夜色精品国产网站| 一本久道久久综合婷婷鲸鱼| 久久av一区二区三区| 国产**成人网毛片九色| 国产电影一区二区三区| 欧美精品乱人伦久久久久久| 免费观看30秒视频久久| 色网站国产精品| 亚洲va韩国va欧美va精品| 亚洲女同同性videoxma| 一区二区三区成人| 99精品国产福利在线观看免费| 1024亚洲合集| 国产人成精品一区二区三| 一区二区三区高清在线| 校园激情久久| 午夜精品久久久| 乱人伦精品视频在线观看| 午夜精品久久久久久久蜜桃app| 国产嫩草一区二区三区在线观看| 亚洲午夜视频在线| 色综合久久久久综合| 蜜臀久久久久久久| 精品视频全国免费看| 国产一区二区看久久| 日韩精品一区二区在线| 91亚洲大成网污www| 国产精品久久一卡二卡| 亚洲欧洲综合| 亚洲成人在线免费| 欧美性猛片xxxx免费看久爱| 国产一区二区看久久| 日韩欧美一卡二卡| 91在线视频免费91| 国产精品白丝在线| 美脚丝袜一区二区三区在线观看| 紧缚奴在线一区二区三区| 精品美女一区二区| 国产一区二区三区四区老人| 亚洲欧美国产高清| 色妹子一区二区| 国产成人自拍网| 久久精品在这里| 136国产福利精品导航网址| 亚洲美女一区二区三区| 美女91精品| 国精产品一区一区三区mba桃花| 日韩精品一区二区三区中文不卡| 91丨porny丨国产入口| 国产精品国产馆在线真实露脸| 亚洲一区二区三区精品动漫| 激情综合亚洲精品| 久久精品夜夜夜夜久久| 亚洲最黄网站| 麻豆精品一区二区| 26uuu欧美| 国产亚洲成人一区| 美日韩一区二区三区| 精品精品欲导航| 中国女人久久久| 国产一区二区伦理片| 中文在线一区二区| 久久精品官网| 国产成人在线视频播放| 国产精品第五页| 一道本成人在线| 成人精品一区二区三区四区| 亚洲欧美国产77777| 欧美日韩精品一区二区三区蜜桃| 成人午夜精品在线| 亚洲精品国产第一综合99久久 | 91免费精品国自产拍在线不卡 | 99re6这里只有精品视频在线观看| 亚洲精品中文在线影院| 欧美午夜免费电影| 91麻豆蜜桃一区二区三区| 亚洲国产日韩在线一区模特| 制服.丝袜.亚洲.另类.中文| 在线成人国产| 精品亚洲aⅴ乱码一区二区三区| 亚洲国产激情av| 日本高清不卡在线观看| 欧美一区高清| 免费欧美在线视频| 国产精品青草综合久久久久99| 91成人在线免费观看| 欧美激情自拍| 精品一区二区在线看| ㊣最新国产の精品bt伙计久久| 在线观看视频欧美| 欧美日一区二区三区在线观看国产免| 日韩精品一二三| 欧美激情一区二区三区| 欧美性一区二区| 亚洲激情av| 国产成人在线视频网站| 亚洲国产一区二区三区青草影视| 欧美一级高清片在线观看| 国产伦精品一区二区三区高清版| 国产成人精品免费网站| 亚洲成人福利片| 国产亚洲成av人在线观看导航 | 国产精品久线在线观看| 欧美喷水一区二区| 韩国一区二区三区美女美女秀| 经典三级视频一区| 尤物在线观看一区| 久久综合色播五月| 欧美性受极品xxxx喷水| 一区二区三区四区五区视频| 99re亚洲国产精品| 精品在线你懂的| 亚洲国产成人av好男人在线观看| 国产亚洲一区字幕| 在线不卡免费欧美| 亚洲一区二区四区| 欧美精品九九| 国产一区二区0| 亚洲成人av中文| 中文字幕不卡在线观看| 欧美一级黄色大片| 色综合久久久久综合体桃花网| 国产综合色产| 菠萝蜜视频在线观看一区| 另类小说图片综合网| 亚洲永久精品国产| 国产精品久久久久久久久久久免费看 | 玖玖在线精品| 国语精品一区| 97精品视频在线观看自产线路二| 国产在线不卡一卡二卡三卡四卡| 亚洲成人1区2区| 亚洲精品国产视频| 国产精品人人做人人爽人人添| 日韩一级精品视频在线观看| 欧美日韩一区二区三区在线 | 国产真实乱对白精彩久久| 亚洲国产精品久久一线不卡| 国产精品美女久久久久av爽李琼 | 亚洲一区二区四区蜜桃| 国产精品欧美久久久久无广告| 精品乱人伦小说| 欧美一级日韩免费不卡| 欧美亚洲动漫精品| 久久久久.com| 亚洲免费激情| 亚洲成人中文| 国产精品v欧美精品v日韩| 国产成人在线视频播放| 美女一区二区视频| 肉色丝袜一区二区| 午夜精彩视频在线观看不卡| 亚洲激情中文1区| 亚洲精选视频免费看| 亚洲免费在线观看视频| 成人欧美一区二区三区1314| 中文在线免费一区三区高中清不卡| 久久女同互慰一区二区三区| 久久久久久影视| 国产亚洲美州欧州综合国| 久久午夜电影网| 久久综合久久综合久久综合| xvideos.蜜桃一区二区| 日韩精品一区二区三区视频在线观看| 884aa四虎影成人精品一区| 欧美日韩国产一级片| 欧美日韩国产一二三| 欧美视频自拍偷拍| 欧美精品777| 911精品产国品一二三产区| 欧美二区三区的天堂| 777色狠狠一区二区三区| 欧美日韩1234| 欧美一区二区在线播放| 日韩精品一区二区三区老鸭窝 | 99v久久综合狠狠综合久久| 大陆成人av片| 成人免费毛片片v| www.日韩av| 亚洲欧美综合一区| 欧美日韩专区| 国产欧美日韩一区二区三区| 国产精品丝袜xxxxxxx| 香蕉久久夜色精品| 久久亚洲美女| 在线观看视频一区二区欧美日韩 | **网站欧美大片在线观看| 亚洲欧洲色图综合| 伊人一区二区三区| 亚洲国产一区二区三区青草影视| 天堂影院一区二区| 久草在线在线精品观看| 高清不卡一区二区| 欧美日韩日本国产亚洲在线| 中文在线一区| 欧洲一区在线电影| 日韩午夜在线影院|