在公司中登入docker機需要手動輸入密碼非常麻煩,因此可以用expect編寫指令碼利用指令碼自動登入。
1、安裝brew(若已安裝可省略)
brew 是 mac 下的乙個包管理工具,類似於 centos 下的 yum,可以很方便地進行安裝/解除安裝/更新各種軟體包
ruby -e "$(
curl -fssl
"
2、安裝expect
brew install
expect
3、編寫指令碼
#expect的安裝路徑
#!/usr/bin/expect -f
#設定超時時間
settimeout 3
#私人密碼
set password yourpassword
#傳遞互動指令
spawn ssh root@ip
#根據輸出傳遞資料
expect
"password"
#保持在遠端
interact
傳遞互動資料的還可以通過一下方法
expect
"password:"
send "$password\r"
同樣還可以通過$ar** 引數陣列傳遞
expect test.exp 123456
set password [lindex $ar** 0]
expect
"password"
編寫expect指令碼
expect實現自動互動。如,scp,ssh,ftp root等需要輸入密碼的互動需求 例如ssh命令遠端登入其他主機,會要求輸入密碼 ps 有時候有的機器登入也不需要密碼 bin sh echo start expect c expect hello send world n expect eof...
mac使用expect自動登入跳版機
痛點 mac登入跳版機,每次都要輸入使用者名稱和密碼選擇伺服器後,比較繁瑣。解決 發現expect很好用,share一下,下面是工作中真實使用的指令碼。前提 安裝expect 1 expect互動的指令碼 2 usr bin expect34 連線跳板機 5 spawn ssh p2222 jump...
利用expect實現SSH登入密碼的自動填充
ssh可以遠端登入另一台主機 基本使用口令如下 1.ssh user host address 如 ssh ysaicll 192.168.0.1 以ysaicll身份登入主機192.168.0.1 2.ssh host address 如 ssh 192.168.0.1 直接登入主機192.168...