博客 / 詳情

返回

SSH之 MAC Iterm2 + JumpServer 自動登錄腳本

本地連接遠端的服務器,Iterm2 可以説是MAC 上的一大利器了,配合腳本,可以一鍵直連服務器

最近因公司加強了服務器登陸驗證,換了JumpServer 服務器,還增加了二次認證,必須用Google Authenticator輸入6位動態驗證碼,才能成功登陸,這樣的話每次都得打開手機,手動輸入驗證碼比較麻煩,所以,我這麼懶的程序猿怎麼會安分的一步步操作呢,來個腳本

image.png

開始之前,先檢查你的電腦裝沒裝brew 和 expect,如果沒有安裝,先裝完再進行後續步驟哈

安裝brew

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" speed

安裝expect
brew install expect

準備工作就緒,我們繼續接下來的步驟

1、首先,給你的電腦裝一個 oath-toolkit
brew install oath-toolkit
2、你還得獲取到我上面截圖的二維碼下面的 Secret 後面的 key,用下面的命令驗證一下你設置的對不對吧
oathtool --totp -b YOUR-PRIVATE-KEY
3、如果上面的都沒有問題,直接來上腳本

#!/usr/bin/expect
set jumpusr user_name
set pwd password
set jumphost 172.16.XXX.XX
set host [lindex $argv 0]

catch {spawn ssh -p 22 $jumpusr@$jumphost}
expect "*password:*"
send "$pwd\r"
expect "*MFA*" {
        set code [exec sh -c {oathtool --totp -b YOUR-PRIVATE-KEY}]
        send "$code\r"}

expect {
"*Opt>*" {
    send "[lindex /$argv 0]\r";exp_continue}
"*Host*" {
    send "1\r1\r"}
}

# 此處看運維給你的什麼權限,直接進入app的話下面的可以刪除
expect "*$*" {
    send "sudo su - app\r"
}

interact
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.