【效率工具】SSH一键登陆脚本(可一键从跳板机登陆线上服务器)

说明

前阵子上线,一次性上了十个服务,一直上到凌晨才完事,期间每一个服务都要先输入跳板机的登陆信息来登陆跳板机,而后再输入线上服务器的信息来登陆线上服务器,实在是太过于麻烦,并且有些服务还有好几台服务器,检查问题的时候,服务器跳来跳去的,简直苦不堪言。git

20190327230716.png

因而,便萌发了用shell脚本的方式来一键跳转的想法,先上github上搜了搜现成的轮子,发现都不太好用,要不就是没说明,要不就是只能登一台服务器,不能知足从跳板机A跳转到线上服务器B的需求。github

因此,仍是本身动手,丰衣足食。shell

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

安装 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,不支持多跳转,感受没有必要,若是有须要,把脚本稍微改改就好了。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。

这样,只须要小手一点,就能直接登陆线上服务器,岂不是美滋滋。

20190327231606.png

小结

虽然只是一个简单的脚本,奈何道法太浅,硬生生折腾了大半天才调试完成,但也算是了却了一桩心愿。

独乐了不如众乐乐,特此分享给你们,但愿能对你们有所帮助。

若是以为还不错,别忘了加个star✨也欢迎关注个人公众号留言交流。

相关文章
相关标签/搜索