项目背景¶
用过很多远程终端管理工具,最初在学校学习路由交换的时候用的是超级终端连接 Console
接口,然后使用 putty
带内管理交换机。再后来学习 Linux
时,使用的是学生版 xshell
、xftp
进行 SSH
连接,感觉超级好用,就是限制太多了。在工作的时候发现运维的同事都用 SecureCRT
,但是发现文件传输不够友好,最后使用 MobaXterm
,其可以免费下载使用家庭版,不幸的是,在我保存的会话达到限制数量时,它提示我已经不能再增加会话了,该升级许可了(该花钱了)。
一路过来,百度了、用过了、白嫖了很多的远程终端管理工具,但是在使用它们的过程中或多或少总是有一些困扰:
- 完全免费的工具功能太单一。
- 商业软件的免费版限制太多(限制到真就是只能个人用着玩 了)。
- 还有一些不错的免费工具、功能也齐全,但是需要注册登录,按套路说不定什么时候就收费了。
- 破解版用着确实挺爽的,但总归不大好,说不定什么时候就翻车了(主要是想支持正版)。
- 总归有一些自己想要而工具没有的功能,但要么工具是闭源的、要么工具的技术栈不熟悉,搞不了。
因此,正好最近在学习Java代码审计方面的知识,于是起了干脆用Java写个自己想要的远程终端管理工具的心思,当时主要是出于这些考虑:
- 就当是熟悉Java基础了。
- 可以按照自己的想法进行定制化开发。
- 能够集成管理外部工具,形成快速启动工具箱。
- 集成安全属性,这是很多此类工具所不具备的,如代码检查能力、POC验证框架,可以方便安全人员快速发现、定位安全问题。
- 还有就是想维护一个开源项目,算是对开源环境的一个正向反馈。
- 完美!
于是,这代码敲着,敲着,就成了现在这样了......