【效率工具】SSH一鍵登錄腳本(可一鍵從跳板機登錄線上服務器)
阿新 • • 發佈:2019-03-28
git 修改 href 分享圖片 got online brew apt-get username
說明
前陣子上線,一次性上了十個服務,一直上到淩晨才完事,期間每個服務都要先輸入跳板機的登錄信息來登錄跳板機,然後再輸入線上服務器的信息來登錄線上服務器,實在是太過於麻煩,而且有些服務還有好幾臺服務器,檢查問題的時候,服務器跳來跳去的,簡直苦不堪言。
於是,便萌發了用shell腳本的方式來一鍵跳轉的想法,先上github上搜了搜現成的輪子,發現都不太好用,要不就是沒說明,要不就是只能登一臺服務器,不能滿足從跳板機A跳轉到線上服務器B的需求。
所以,還是自己動手,豐衣足食。
Shell腳本
Shell腳本已經發布到了github
上,鏈接在此:https://github.com/MFrank2016/GotoSSH
這個腳本借鑒了AutoSSH
的腳本,並將其進行了修改,使得能夠支持從跳板機直接跳轉登錄服務器。
使用說明
GotoSSH
是一個一鍵登錄SSH的腳本,可直接從跳板機登錄到線上服務器,致力於幫助你提高工作效率。
安裝依賴
CentOS :
$ sudo yum install -y expect
Ubuntu :
$ sudo apt-get install tcl tk expect
Mac :
$ sudo brew install expect
安裝 GotoSSH
$ 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,不支持多跳轉,感覺沒有必要,如果有需要,把腳本稍微改改就行了。
舉個栗子
$ 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?也歡迎關註我的公眾號留言交流。
【效率工具】SSH一鍵登錄腳本(可一鍵從跳板機登錄線上服務器)