autossh


LDAP:用old HK login

SSH轉發:
/root/.nat_rules/opay-new

root@ldap opay-new]# cat maria1-dw-60000
#!/bin/bash
L_PORT="60000"
R_HOST="opay-transaction-slave-dw.c7vkdm90b2v9.eu-west-1.rds.amazonaws.com"
R_PRI_PORT="3306"
MON_PORT="0"
ALIAS="newstage"

VAR=$(expect -c "
spawn /usr/bin/autossh -M $MON_PORT -4 -C -L 0.0.0.0:$L_PORT:$R_HOST:$R_PRI_PORT -N $ALIAS
match_max 100000
expect \"$?assphrase*\"
send -- \"$PASS\r\"
send -- \"\r\"
expect eof
")
echo "======================="
echo "$VAR"

/usr/bin/autossh -M 0 -4 -C -L 0.0.0.0:60000:ip:3306 -N $ALIAS

 

 

expect使用說明: 

參考:https://www.cnblogs.com/bonelee/p/7817371.html

ssh跳板登陸太麻煩,使用expect每次自動登錄 利用expect 模擬鍵盤動作,在閑置時間之內模擬地給個鍵盤響應

#!/usr/bin/expect -f
#設置超時時間
set timeout 3
#這里設置了跳板機的密碼
set password "你的跳板機密碼"
#連接跳板機
spawn ssh 用戶名@跳板機IP

#如果返回的內容包含*yes/no*,發送yes
expect "*yes/no*" {send "yes\n"}
#如果返回的內容包含"*password*",發送你設置的密碼+\r(PS.這里的\r一定要加,是回車操作的意思。。。在網上搜了好多沒有說明,一直以為是換行,沒有加這個,結果一直執行不成功)
expect "*Password:*" {send "$password\r;"}
#登錄跳板機成功,如果返回的內容包含"*你的跳板機的名稱*",發送連接測試機的命令
expect "*能匹配跳板機名稱的字符串*" {send "ssh 測試服務器的用戶名@測試服務的IP\r";}
#同上面一樣。。。注意interact是留在測試機上,給用戶控制權限,如果不寫會直接退出
expect "*Password:*" {send "你的密碼\r";interact}
#保存為 login.sh 執行 expect login.sh
#終於不用手輸兩次密碼了.....
復制代碼
首先MAC要安裝expect( brew install expect),然后,編寫上面的腳本文件保存,
保存為 login.sh 執行 expect login.sh

終於不用手輸兩次密碼了.....
防止超時掉線的代碼:

復制代碼
#!/usr/bin/expect -f
#首先MAC要安裝expect( brew install expect),然后,編寫下面的腳本文件保存
#設置超時時間
set timeout 1
#這里設置了跳板機的密碼
set password "xxxxxx"
#連接跳板機
spawn ssh xxx

#如果返回的內容包含*yes/no*,發送yes
expect "*yes/no*" {send "yes\n"}
#如果返回的內容包含"*password*",發送你設置的密碼+\r(PS.這里的\r一定要加,是回車操作的意思。。。在網上搜了好多沒有說明,一直以為是>換行,沒有加這個,結果一直執行不成功)
expect "*word:*" {send "$password\r;"}
#登錄跳板機成功,如果返回的內容包含"*你的跳板機的名稱*",發送連接測試機的命令
expect "*login*" {send "ssh xxxt@xxxxx\r";}
#同上面一樣。。。注意interact是留在測試機上,給用戶控制權限,如果不寫會直接退出
expect "*word:*" {send "$password\r";
#interact}
interact {
timeout 30 {send "\x20"}
}
}
#保存為 login.sh 執行 expect login.sh
#終於不用手輸兩次密碼了.....
復制代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM