本文我们来实现这样一个功能,就是在linux中,我们把一些主机名(和ip地址)列表存在一个文本文件里,然后用vi打开后通选择某个主机后回车就可以用SSH登陆.
不管 chef/puppet/salt/ansible 这类自动化配置工具多么智能,我们总有需要登陆到单台服务器上找问题的时候,总不能每次去翻 doc/txt 文档找相应的 IP 地址和用户名吧,找到 IP 地址和用户名后、copy 出来、切换窗口、再 ssh?有点累~~
机械的工作总是能找到替代的工具来完成,warp 就是这样一个小工具,确切的说是一个小 bash 脚本,warp 从 .warp 文本文件里读取主机名(IP 地址)信息,然后自动连上 ssh.
- $ wget https://raw.githubusercontent.com/jpalardy/warp/master/warp
- $ chmod +x warp
我们可以看到这个 .warp 文件格式很自由,只要保证第一列是主机名和 IP 地址(执行 ssh 命令格式的后半部分)就可以了,还可以用 — 和 # 当作注释方便我们区分和归类不同的服务器:
- $ vi ~/.warp
- # VIRTUAL MACHINE HOSTS
- -- production servers
- host101.vpsee.com -- xen host
- host102.vpsee.com
- root@host103.vpsee.com -- kvm host
- user@host104.vpsee.com
- -- development servers
- 172.20.2.101
- 172.20.2.102
- root@172.20.2.103
- user@172.20.2.104
- # SUN GRID ENGINE HOSTS
- //Vevb.com
- sge101
- sge102.cluster.vpsee.com
- 192.168.2.15 -- local datacenter
执行 warp 后会自动打开 vi/vim,然后使用 kj 键选择某行后回车即可:
$ ./warp
如果选择多行,warp 还支持 csshx 哦~
新闻热点
疑难解答