一键登录服务端原理_【效率工具】SSH一键登录脚本(可一键从跳板机登录线上服务器)...

说明

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

AAffA0nNPuCLAAAAAElFTkSuQmCC

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

所以,还是自己动手,丰衣足食。

Shell脚本

这个脚本借鉴了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。

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

AAffA0nNPuCLAAAAAElFTkSuQmCC

小结

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

独乐了不如众乐乐,特此分享给大家,希望能对大家有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值