相信程序員們都避免不了經過堡壘機登陸服務器來查看問題,如何快速登陸服務器而不用繁瑣地輸入密碼等等步驟呢?下面的shell腳本幫你完成。
auto-login.sh程序員
#!/usr/bin/expect -f #定義堡壘機帳號/密碼/IP set user *** set passwd *** set bastion_host *** if { $argc == 1 } { #將第一個參數賦值給dest_host set dest_host [lindex $argv 0] #qa if { $dest_host == "qa" } { set dest_host qa-web-v01 } #preview if { $dest_host == "pre" } { set dest_host sys-pre-v01 } } #執行ssh操做,登錄到堡壘機 spawn ssh $user@$bastion_host #檢測命令行的返回信息,匹配password關鍵字 expect "*password:" #自動輸入密碼 回車 send "$passwd\n" #沒有參數直接返回終端 if { $argc == 0 } { interact exit 1 } #監測命令行的返回信息,匹配下面關鍵字 expect "Opt or Host>:" #發送登陸的機器 send "$dest_host\n" #自動交互 interact
而後就是將這個腳本執行放到.bashrc文件或是your_custom.zsh(mac os)文件中別名就ok啦web
alias autologin='/usr/local/sbin/auto-login.sh'
接下來就能夠:shell
$ autologin qa //直接到qa機器 $ autologin pre //直接到preview機器 $ autologin {machineName} //直接到指定機器 $ autologin //跳到堡壘機歡迎界面 能夠查看須要的機器名稱