题记:自从接触到“跳板机”的概念后,一直就被烦不胜烦的机器名,ip地址,用户名,密码折腾的死去活来,心说能有个小精灵随时帮我输入那些重复的登录信息就好了。我见过最挫的方式就是用记事本把一堆机器的ip、登录用户、密码记录下来,每次登录机器就像是一场战斗:打开笔记本->勾选复制->写ssh命令->登录->再打开笔记本->再复制。。。永无止境!有时候机器密码改了也记不住,还要问来问去。还有时候登录线上环境的机器,每次都是登录跳板机->再登录线上机器等等。有人可能会问,XShell不是帮你记住机器列表了么,直接保存下来用不也很方便?我想说,当你的收藏夹里有百十条机器信息时,每次看着找眼睛不花么。。。

好了,不扯皮了,求人不如求己,经过长期的受虐训练,再熬上几个通宵,FastLogin终于发布1.0版本了!具体的功能下边会详细介绍,好用与否,只有亲身体会才会明白。想着现在登录任何一台机器只需敲两三下键盘就能完成,这种强迫症被释放的快感难以言表~

废话不多说,我把FastLogin的项目说明文档直接放进来,感兴趣的同学直接到https://github.com/fanzhidongyzby/fastlogin下载安装体验吧!

FastLogin

ssh快速登录工具,免去记忆、输入机器、用户名和密码的烦恼。

后台开发或者运营人员经常需要ssh登录大量的服务器,记下那么多枯燥的主机名和用户名、密码实在头疼,即便是用登录工具(XShell, SecureCRT, Putty)自带的记录主机的功能也不甚方便。FastLogin通过一个简单的脚本,帮助你快速关键字检索要登录的机器,并能自动填充用户名和密码。

其基本宗旨是:用最少的击键次数实现SSH登录

安装步骤

(florian) ~ $ git clone https://github.com/fanzhidongyzby/fastlogin.git
(florian) ~/fastlogin $ cd fastlogin
(florian) ~/fastlogin $ ./install /usr/local

功能测试

(florian) ~ $ x -h
FastLogin:
x host [user] [password] [option [value]*]
options:
-p <host> [<user>] Specify proxy host and user
-s <suffix> Password suffix (proxy use first)
-i Show detail login info
-i- <host> [<user>] Remove host or user info
-I Show detail login info (see password)
-w Show white list config
-w+ <host> Add white list record
-w- <host> Remove white list record
-D Turn debug on
-h Show this help message
-v Show version
选项 参数 含义
-p host [user] 跳板机信息,自动从登录信息中检索
-s suffix 在登录密码后添加后缀登录 ,使用-p选项时,为跳板机密码添加后缀
-i 显示保存的登录信息
-i- host [user] 删除主机或用户登录信息
-I 显示保存的登录信息(含密码敏感信息)
-w 显示白名单配置
-w+ host 添加白名单记录
-w- host 删除白名单记录
-D 调试选项
-h 显示帮助
-v 显示版本信息

卸载

(florian) ~ $ cd fastlogin
(florian) ~/fastlogin $ ./uninstall /usr/local

功能介绍

1. 登录记忆

FastLogin会自动记录成功登录过的机器名和用户密码。

  1. 同一机器使用不同账户登录成功后仍能记录新的账户信息。
  2. 同一机器使用相同帐户,但是不同密码登录成功后会自动更新密码信息。
(florian) ~ $ x arch admin admin
Host's name: arch
User's name: admin
Last login: Wed Dec 21 17:30:32 2016 from 10.211.55.2
[admin@arch ~]$ logout
Shared connection to arch closed.
(florian) ~ $ x
Following hosts can be fast login:
arch

2. 快捷登陆

FastLogin会自动匹配机器名,并根据历史登录信息登录对应机器。

(florian) ~ $ x a
Host's name: arch
User's name: admin
Last login: Wed Dec 21 17:30:39 2016 from 10.211.55.2
[admin@arch ~]$

3. 多项选择

FastLogin会在匹配到多个机器或可用的登录账户时,给用户提供了快捷选择。为避免多项选择,可适当调整主机/用户名关键字。

(florian) ~ $ x 1
Following hosts were found:
(1): 10.211.55.4
(2): 10.211.55.5
Choose one to continue: 1
Host's name: 10.211.55.4
Following users were found:
(1): admin
(2): test
Choose one to continue: 1
User's name: admin
Last login: Wed Dec 21 17:31:13 2016 from 10.211.55.2
[admin@arch ~]$

4. 跳板机登录支持

使用SSH的共享通道特性,可以实现跨机器登录。

(florian) ~ $ x centos admin admin -p arch admin
Host's name: centos
User's name: admin
Host's name: arch
User's name: admin
Warning: Permanently added 'centos' (ECDSA) to the list of known hosts.
admin@centos's password:
Last login: Wed Dec 21 04:14:07 2016 from 10.211.55.4
[admin@localhost ~]$

和普通登录一样,FastLogin会记录下来当前机器通过哪个跳板机登录成功过:

(florian) ~ $ x -I
Detail login records:
admin:admin@arch
admin:admin@centos <- admin@arch

因此之后再登录时,不需要重复输入跳板机信息:

(florian) ~ $ x e
Host's name: centos
User's name: admin
Host's name: arch
User's name: admin
Warning: Permanently added 'centos' (ECDSA) to the list of known hosts.
admin@centos's password:
Last login: Wed Dec 21 04:14:38 2016 from 10.211.55.4
[admin@localhost ~]$

5. 动态密码支持

一般企业的跳板机登录时都会需要输入动态口令,FastLogin通过密码后缀支持。

(florian) ~ $ x 10.211.55.4 test te -s st
Host's name: 10.211.55.4
User's name: test
Last login: Wed Dec 21 17:45:36 2016 from 10.211.55.2
[test@arch ~]$ logout
Shared connection to 10.211.55.4 closed.
(florian) ~ $ x -I
Detail login records:
test:te[suffix]@10.211.55.4
(florian) ~ $ x 4 t -s te
Host's name: 10.211.55.4
User's name: test
Last login: Wed Dec 21 17:48:00 2016 from 10.211.55.2
[test@arch ~]$

FastLogin只保存了固定的密码部分,动态密码需要登录时用-s选项指定。

6. 登录状态保活

即便使用-s选项指定动态密码后缀,每次登录输入动态密码的过程仍是非常麻烦。还得再次感谢SSH的socket复用机制,FastLogin利用了此特性。

在登录成功后,会在~/.fastlogin/tmp下保存有效的SSH连接信息,默认72小时内不需要在此输入密码(包括动态密码),而快捷登录命令不会受此影响。

如果对时长不满意,可以自定义配置。假设FastLogin的安装目录为/usr/local/fastlogin,那么直接修改配置文件即可。

# /usr/local/fastlogin/config.properties
debug=off
ssh.keep.alive=72h

如果希望保活时间无限长,那么将ssh.keep.alive设为yes即可。

7. 其他功能

前边的示例中,都把登录密码写在命令行中了,显然有潜在的安全风险。因此FastLogin提供了交互式的输入方式。

(florian) ~ $ x arch
Host's name: arch
User must be provided: admin
User's name: admin
Password must be provided:
Last login: Wed Dec 21 18:22:31 2016 from 10.211.55.2
[admin@arch ~]$

白名单机制主要用于备忘关键主机,以防偶然登录失败,导致登录记录被自动清除的问题。

(florian) ~ $ x -w+ centos
White list record 'centos' added
(florian) ~ $ x -w
White list config:
centos
(florian) ~ $ x -i- centos
Host 'centos' in white list, can not remove

以上介绍了FastLogin主要的功能,如果你在使用过程中遇到问题,或者有更好的建议,欢迎和我联系。

(florian) ~ $ x -v
FastLogin V1.0.0 Author: Florian alibaba.inc
FastLogin is a SSH tool which can help you:
1. Record login host, user and password.
2. Fast pattern match to fill login info.
3. Dynamic token support with password suffix.
4. Proxy login support.
5. White list support to avoid login info auto-removed.
6. SSH channel reuse.

告别S! S! H!秒杀终端工具——FastLogin快捷登录的更多相关文章

  1. [转]12款最佳Linux命令行终端工具

    摘要 “工欲善其事必先利其器”,作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是自己不知道罢了. 原 ...

  2. 12款最佳Linux命令行终端工具, 20款优秀的 Linux 终端仿真器

    12款最佳Linux命令行终端工具     如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的 ...

  3. 12款最佳Linux命令行终端工具

    12款最佳Linux命令行终端工具 如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的终端软件 ...

  4. Windows终端工具_MobaXterm

    前言 有人喜欢小而美的工具,有人喜欢大集成工具.这里推荐一款增强型的Windows终端工具MobaXterm,它提供所有重要的远程网络工具(SSH,X11,RDP,VNC,FTP,MOSH ..... ...

  5. Mac OS X 命令行用户应当知道的八个终端工具

    原文链接:Eight Terminal Utilities Every OS X Command Line User Should Know OS X  的Terminal 终端开辟了强大的UNIX实 ...

  6. tmux终端工具

    本文原始地址:http://www.cnblogs.com/chinas/p/7094172.html,转载请注明出处,谢谢!!! 1.介绍 tmux(终端复用工具):一个很有趣的工具,类似GNU S ...

  7. 分享一个非常好用又好看的终端工具--Hyper (支持windows、MacOS、Linux)

    分享一个非常好用又好看的终端工具--Hyper 官网地址: https://hyper.is/ 打开官网,选择对应版本安装即可:(可能网络原因,无法下载, 可以从我分享的链接下载 链接: https: ...

  8. 酷!微软发布新终端工具,Win 10 将自带 Linux 内核

    原创:技术最前线(id:TopITNews) 北京时间 5 月 7 日,2019 年微软 Build 开发者大会在雷德蒙德召开.今年大会上亮点很多,本文汇总一些和开发者相关的内容. 1. Window ...

  9. 通过轻量级终端工具Tera Term远程向linux操作系统上传war文件

    通过轻量级终端工具Tera Term远程向linux操作系统上传war文件 1.打开Tera Term终端工具,并输入正确的远程机器的IP地址以及端口号: 2.输入正确的用户名和密码进入到linux操 ...

随机推荐

  1. UCOSII时间任务块

    转:http://blog.csdn.net/wchp314/article/details/5416476 uCOS-II的任务控制块 标签:  uCOS-II  2009-12-01 14:45 ...

  2. 【openstack N版】——手把手教你制作生产环境镜像

    一.CentOS7镜像制作 1.1创建CentOS7虚拟机 1.1.1创建虚拟磁盘 #注:尽量将虚拟机创建在控制节点,以便于将镜像上传至glance [root@linux-node1 ~]# qem ...

  3. iOS开发之仿射变换示例总结

    本篇博客比较简单,但还是比较实用的.其中的示例依然使用Swift3.0来实现,该博客算是下篇博客的一个引子,因为我们下篇博客要介绍使用Swift开发iOS应用中常用的一些Extension.而在这些E ...

  4. 循环神经网络(RNN)模型与前向反向传播算法

    在前面我们讲到了DNN,以及DNN的特例CNN的模型和前向反向传播算法,这些算法都是前向反馈的,模型的输出和模型本身没有关联关系.今天我们就讨论另一类输出和模型间有反馈的神经网络:循环神经网络(Rec ...

  5. JavaScript实现评论点赞功能

    通过分析评论功能的逻辑关系,学会如何使用JavaScript实现评论.回复.点赞等各种功能 1.学会JavaScript处理日期和时间. 2.掌握Dom操作中的添加/删除子节点方法. 3.使用setT ...

  6. DotNet友元程序集解析

    项目开发的过程中,调试使用的可能是最多的操作.任何代码写出来都需要经过调试和整合,以此扩展和提升程序的稳定性和可靠性.谈到.NET的单元测试,在这里就得提提.NET的友元程序集这一特性,也借用.NET ...

  7. 1692: [Usaco2007 Dec]队列变换(BZOJ1640强化版)

    1692: [Usaco2007 Dec]队列变换 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 682  Solved: 280[Submit][Sta ...

  8. C#7的9个新语法

    一.out变量 在c#7之前我们得这样 在c#7中我们可以这样 当然你还可以使用"var" 这算一个小更新,其实这个问题存在很久了,应该也很好解决,不知为何到c#7才开始引入,不管 ...

  9. 自己做得一个用于直观观察css3 transform属性中的rotate 3D效果

    这段代码还是非常简单,是看了一个老师的视频受的启发,也是调用了很多个函数,所以比较杂乱吧! <!DOCTYPE html><html lang="en">& ...

  10. aiohttp之添加静态资源路径

    所谓静态资源,是指图片.js.css等文件.官方的说明在这里. 以一个小项目来说明,下面是项目的目录结构: . ├── static │ ├── css │ │ ├── base.css │ │ ├─ ...