前陣子上線,一次性上了十個服務,一直上到凌晨才完事,期間每一個服務都要先輸入跳板機的登陸信息來登陸跳板機,而後再輸入線上服務器的信息來登陸線上服務器,實在是太過於麻煩,並且有些服務還有好幾臺服務器,檢查問題的時候,服務器跳來跳去的,簡直苦不堪言。git
因而,便萌發了用shell腳本的方式來一鍵跳轉的想法,先上github上搜了搜現成的輪子,發現都不太好用,要不就是沒說明,要不就是隻能登一臺服務器,不能知足從跳板機A跳轉到線上服務器B的需求。github
因此,仍是本身動手,豐衣足食。shell
Shell腳本已經發布到了github
上,連接在此:https://github.com/MFrank2016/GotoSSHvim
這個腳本借鑑了AutoSSH
的腳本,並將其進行了修改,使得可以支持從跳板機直接跳轉登陸服務器。服務器
GotoSSH
是一個一鍵登陸SSH的腳本,可直接從跳板機登陸到線上服務器,致力於幫助你提升工做效率。ssh
CentOS :調試
$ sudo yum install -y expect
Ubuntu :code
$ sudo apt-get install tcl tk expect
Mac :server
$ sudo brew install expect
$ git clone https://github.com/MFrank2016/GotoSSH.git $ cd GotoSSH $ chmod a+x gotossh $ sudo cp gotossh /usr/local/bin/
$ vim ~/.gotossh_config server_name|ip|username|password|port|rely_server_no
最後一列是表明該服務器依賴於哪一個服務器,若是該列的值設置爲0,表明不依賴於其餘服務器,不然表明須要先登陸其餘服務器後才能登陸該服務器,目前暫時只能從A跳轉到B,不支持多跳轉,感受沒有必要,若是有須要,把腳本稍微改改就好了。blog
$ vim ~/.gotossh_config test_server|192.168.0.1|root|password|22|0 online_server|192.168.2.2|root|password|22|1
$ gotossh ###################################################################################### # [GOTO SSH] # # # # # # [1] test_server - 192.168.0.1:root # # [2] online_server - 192.168.2.2:root # # # # # ###################################################################################### Server Number:(Input Server Number Here)
OR
gotossh 1
OR
gotossh 2
由於配置文件裏設置了服務器2依賴於服務器1,因此會先登陸服務器1,而後再登陸服務器2。
這樣,只須要小手一點,就能直接登陸線上服務器,豈不是美滋滋。
雖然只是一個簡單的腳本,奈何道法太淺,硬生生折騰了大半天才調試完成,但也算是了卻了一樁心願。
獨樂了不如衆樂樂,特此分享給你們,但願能對你們有所幫助。
若是以爲還不錯,別忘了加個star✨也歡迎關注個人公衆號留言交流。