1. 程式人生 > >ITERM2 自動登入跳板機指令碼(多跳、帶動態TOKEN)

ITERM2 自動登入跳板機指令碼(多跳、帶動態TOKEN)

程式碼如下:

設定方式是:iterm2-preference-Profiles-新建一個profile,並設定Name為a, Command為 /Users/XXX/Desktop/a.sh 在sen text as start內傳入4個引數:USER JUMPER_SERVER LOG_SERVER PW

在桌面新建文字檔案輸入以下內容並儲存為a.sh

在iterm中右鍵new window並選擇a,即能自動執行。

#!/usr/bin/expect

set timeout -1

### prepare the variable

set USER [lindex $argv 0] 
set JUMPER_SERVER [lindex $argv 1]
set LOG_SERVER [lindex $argv 2]
set PW [lindex $argv 3]

### login the jump server
spawn ssh 
[email protected]
$JUMPER_SERVER expect { "]" { # already login send_user "already login\n" } "(yes/no)?" {send "yes\n"; exp_continue} "DomainPassword*:" { send_user "\nEnter your token: " expect_user -re "(.*)\n" set TOKEN "$expect_out(1,string)" send_user "\n" #get the token from user send "$PW$TOKEN\n" send_user "**********\n" } } expect "]" send "ssh $LOG_SERVER\r" expect "pass*:" send "$PW\n" expect "
[email protected]
*" interact

部分程式碼說明如下:

expect{}內嵌入多個""時,依次判斷是否滿足,如果滿足則執行{}的內容,並跳出該expect,繼續向下執行;如果希望執行完畢{}後還需要繼續下一個""則需要新增exp_continue.

執行完指令碼後如果不帶interact則自動退出。

使用for()迴圈存在異常情況導致無法正確interact.

對於帶TOKEN的登陸方式,如果想新開一個視窗會非常麻煩;此時可以按如下在MAC本地設定,則無需重複輸入TOKEN(可以使用Ctrl+D等方式進行復制)
vim .ssh/config
//增加以下內容即可
host *
ControlMaster auto
ControlPath ~/.ssh/master-%
[email protected]
%h:%p



相關推薦

ITERM2 自動登入跳板指令碼(動態TOKEN

程式碼如下: 設定方式是:iterm2-preference-Profiles-新建一個profile,並設定Name為a, Command為 /Users/XXX/Desktop/a.sh 在sen text as start內傳入4個引數:USER JUMPER_SE

mac使用expect實現自動登入跳板

之前一直手動輸入密碼來登入跳板機,換了新公司要跳兩次很麻煩  網上看到了expect很好用  記錄下 mac上安裝expect 和 ga-cmd使用expect實現自動登入的自行優化指令碼如下 #這個是expect互動的指令碼,支援輸入引數 #!/us

iTerm2使用pem檔案免密登入跳板

在Windows上連線跳板機啊啥的時候有xshell和secureCRT之類的軟體,然後再Mac上又不是很實用,再加上jumpserver開源跳板機登入的時候,需要pem檔案來登入,所以每次登入跳板機就很麻煩。 經各種查資料,發現其實可以很簡單德解決這個問

MAC下使用expect先登入跳板登入遠端伺服器

mac使用ssh遠端連線伺服器沒有儲存密碼的功能,後來使用指令碼寫了一個讀取密碼然後自動登入的功能,用著挺好。但是最近公司為了安全起見,不再讓直接連線測試伺服器,必須先登入跳板機,再通過跳板機登入測試伺服器.....每次要輸兩次密碼,好麻煩的說。 為了不這麼麻煩,在網上搜了一下如何使用指令碼直接登入,結

自動登入linux伺服器指令碼

背景 在伺服器上進行開發時,往往需要進行密碼登入,甚至有的需要先登入堡壘機,再登入開發機,輸入過程較為繁瑣,因此考慮將命令寫成指令碼的形式自動化登入。 方法 ssh登入是一個互動的過程,且沒有特定的引數指定密碼的輸入方式,因而不能用管道、重定向的方式實現。這種情況可以使用ex

後臺自動登入網頁vb指令碼例項程式碼

set IE=createobject("Internetexplorer.application")IE.Visible = TrueIE.Navigate "https://www.xxx.com/login.htm" ‘等待網頁載入完成While IE.busy O

中國電信數字中南智慧網自動登入油猴指令碼

每次登陸校園網都要輸入賬號密碼再點登陸,於是想自己編寫一個油猴指令碼自動登入。今天花了半個小時把指令碼做出來了,寫一篇教程幫助大家。 首先在瀏覽器上安裝油猴外掛,推薦使用Chrome或FireFox瀏覽器。不過最近Edge也開始支援外掛了,不過微軟商店的體驗不是很好,大家根據需要吧。不過要把裝有油猴外掛的瀏覽

黑客跳板 ---雲伺服器中毒無奈篇(續

黑客跳板機 ---雲伺服器中毒無奈篇 接著上篇寫,真不是故意分兩篇文章,實在是不好編輯了,我也不知道為什麼,CSDN這個編輯器功能需要進一步優化。。。 上面vim 開啟root檔案發現是一個網站。 開啟一看,一口血吐掉了: 發現cron.d得隱藏資料夾,其中得. 資料夾將c

C語言:實現一個通訊錄,可以進行增刪查改等項功能(動態版本

基於前一篇文章的靜態通訊錄,新增malloc函式,realloc函式以及free,將其改變為一個動態的通訊錄,可以動態記憶體開闢,儘可能防止記憶體的浪費。 具體程式碼如下: contact.h #ifndef __CONTACT_H__ #define __CO

HTML5觸控事件(單點觸控

本文轉自:http://www.360us.net/article/9.html HTML5的觸控API支援處理單點和多點的觸控事件處理。 介面 1、TouchEvent:代表了一個觸控事件。 主要屬性: TouchEvent.chang

SecureCRT通過堡壘(跳板)自動登入伺服器的方法

一、先解決無法儲存密碼的問題 在MAC下新安裝使用secureCRT,第一次連線儲存過的密碼,第二次再啟動提示密碼不正確,又需要重新輸入密碼,密碼一直無法儲存,每次都需要手動再輸一次。 這個問題是由於MAC下的secureCRT有一個預設設定為使用Mac OS自帶的“鑰匙串訪問[Keyc

linux/unix/mac 下通過expect/tcl 指令碼透過跳板一鍵登入目標機器

公司登入日誌伺服器要求先登上一個中間伺服器(即常說的跳板機), 再通過中間伺服器登入到目標伺服器。  這個過程操作麻煩, 主要有如下問題:  登入中間伺服器需要賬號和密碼登入到中間伺服器之後, 需要通過ssh方式登入目標伺服器。登入目標伺服器之後需要cd到相應的日誌目錄下

利用SecureCRT實現過堡壘自動登入

       因為工作需要,要經常登入公司的資料平臺,但是這個平臺是不能直接訪問的,必須要先登入一個堡壘機,再通過堡壘機用ssh連線到資料平臺上。於是每次連線都要進行3次輸入賬號密碼的登入操作,非常麻煩,特別是在家裡用vpn連線到公司網路,遇到vpn中斷,每次都要進行這樣的

Mac配置跳板自動登入

#!/usr/bin/expect set machine [lindex $argv 0] set kdauth [ exec oathtool --totp -b <這裡寫你的Google祕鑰>] #solve the window size bug trap

因生產需要,現在,購買自動噴砂的企業越來越

移動 允許 工廠 小時 juc 其他 並且 需要 可能 因生產需要,現在,購買自動噴砂機的企業越來越多,噴砂機被應用的行業也越來越廣泛,噴砂機不同普通的設備,如果不正確使用,會對員工的身體造成傷害,所以企業應該考慮各方面因素,並找到合理的處理方案。我們講述一些基本的使用要求

自動登入過BSO的指令碼

 這個指令碼是同事寫的, 當然, 之前我自己也寫了一個, 但沒有像他下面一樣加異常, 其餘都是一樣的. 記錄一下, 以後要用直接用. #!/usr/bin/expect set username "****@163.com" set password "password" #P

Centos 解決SSH 免密碼登入 以及Crontab製作定時SSH自動登入和關閉的指令碼

一、SSH免密碼登入 假設要登入的機器為192.168.1.100,當前登入的機器為192.168.1.101。 首先在101的機器上生成金鑰(如果已經生成可以跳過): $ ssh-keygen -t rsa一路回車即可。 然後在將生成的公鑰複製到機器100上的~/.ssh/authorized_ke

expect實現自動登入指令碼

寫在前面:目前在公司是一人一臺虛擬機器,大多數工作都要在虛擬機器上完成,為此每天要執行很多次【ssh [email protected]】指令登入虛擬機器;有很多方式解決這個問題,如使用xsh

記一次用python selenium 通過chrome+chromedriver 實現公司內網上網自動登入認證上班自動登入打卡python指令碼筆記

背景 寫這個指令碼純屬是覺得好玩而已,一開始以為很簡單,看了大部分網上的程式碼確實很簡單就那麼幾行,自己也就想試試,後來發現由於這個還涉及了一些html的知識點發現還是沒那麼簡單的,從一開始獲取登入按鈕的input id到後面打卡按鈕無法使用發現還使用了ifr

linux使用shell指令碼實現自動登入scp傳輸檔案到其他伺服器

執行 sudo yum install expect  安裝自動登入expect工具 我們是配置了多臺伺服器進行控制多臺伺服器的檔案傳輸,使用scp命令進行copy檔案到指定伺服器的指定檔案目錄,一般複製到home目錄因為這個目錄對外有可執行許可權 下面我們看下會用到的檔