前言
说到SSH终端工具,大家首先想到的可能会是putty、xshell这些老牌客户端。以上这些工具能够流行至今,并有一定的用户群体,一定有其独特之处。不过在互联网日益发达的今天,我们工作中的使用需求也越来越多,比如:在远程连接服务器、运行Linux命令的同时,可能还需要传输一些文件;我们希望可以同时连接多台服务器,在多个窗口下管理,便于相互切换;在管理Linux的同时,还可以运行cmd/zsh以及gitbash,而不是开多个软件......
对于上述功能,如果是putty和xshell,就显得有些力不从心。而在开源工具如雨后春笋般涌现的今天,windterm作为其中的佼佼者,可以同时满足以上需求。
一、windterm简介
1.关于windterm
windterm是一款风格独特、开源、且完全免费的SSH/Telnet/Serial/Shell/Sftp 客户端
项目地址:https://github.com/kingToolbox/WindTerm
下载地址:https://github.com/kingToolbox/WindTerm/releases
2.windterm特点
- 实现了 SSH v2、Telnet、Raw Tcp、串行、Shell 协议;
- 会话认证时支持 SSH 自动执行;
- 支持 SSH ControlMaster;
- 支持 SSH ProxyCommand 或 ProxyJump;
- 支持 SSH 代理转发;
- 支持使用密码、公钥、键盘交互、gssapi-with-mic 的 SSH 自动登录;
- 支持X11转发;
- 支持直接/本地端口转发、反向/远程端口转发和动态端口转发;
- 支持 XModem、YModem 和 ZModem;
- 集成sftp、scp客户端,支持下载、上传、删除、重命名、新建文件/目录等;
- 集成本地文件管理器,支持移动、复制、复制、删除、重命名、新建文件/目录等;
- 支持 Windows Cmd、PowerShell 和 Cmd、PowerShell 作为管理员;
- 支持Linux bash、zsh、powershell core等;
- 支持 MacOS bash、zsh、powershell 内核等;
二、创建服务器连接
以下将会结合实际案例,分别从直连方式以及代理连接两方面,介绍windterm如何连接、管理远程服务器。
1.本地或公网直连
1)新建会话
- 主机:输入内网主机地址或可以直连的公网地址
- 标签:可以创建一个别名
- 分组:选择分组(分组可以提前新建,如百度云、华为云、内网服务器等),便于分类管理
- Description:描述信息
2)输入用户名
输入用户名,勾选“下次自动登录”,点击“继续”
3)输入密码
输入密码,点击“继续”
登录成功页面如下:
2.通过代理连接
内网服务器或公网地址直连相对较为简单,直接输入用户名和密码就可以了。但很多情况下,并不是每台远程服务器都有公网地址,或是22端口不对外开放,这时就需要通过一台公网服务器的代理跳转到其同一体系的各个内网下才能进行连接。以下为代理连接核心思路:
先建立一个隧道,用来监听本地端口,再新建一个代理连接,并在代理中填写前面创建的隧道中填写的本地监听端口号,通过【隧道+代理】即可跳转到远程服务器的内网其他主机,注意:
- 一个隧道中填写一个端口号,端口号只要是本地没被占用的端口号就行;
- 一个隧道最好只对应一个代理连接(避免因为一个端口挂掉而导致关联连接全断掉的情况);
- 一个代理对应一个远程服务器的内网主机;
- 内网主机登录前,跳板机必须处于登录状态,跳板机断开后,相应各内网主机也会自动断连;
1)新建隧道
点击右上角“隧道”-“Tunnel Settings”进入隧道管理,再点击右下角“+”号新建一个隧道,如下图所示:
- 名称:任意,自己能记住就行,最好带有一定标识来标识特定的含义
- 类型:选择动态转发
- 会话:选择跳板机所在的会话(需要通过这台跳板机、也是公网服务器来跳转到内网)
- 监听端口:任意,注意不要与其他已正在使用的端口重复即可
- 目标主机:选择动态转发后此项会自动填充为“任何”,无需改动
- 目标端口:选择动态转发后此项会自动填充为“0”,无需改动
- Status:默认Closed,可以在新建时打开,也可以新建完成后打开
新建完成后,再次点击右上角隧道,即可看到新建的隧道:
2)新建连接代理
在同一会话(即跳板机所在的目录)下,右键-新建会话
① 填写会话内容
- 主机:目标服务器的内网地址
- 端口:22
- 标签:任意,自己能识别即可
- 分组:跳板机所在的分组
- 其他保持默认
② 填写代理信息
切换到SSH类目下的代理选项,填写代理信息
- 代理类型:选择Socks v5 proxy
- 主机:localhost
- 端口:3011(前面新建的隧道中的本地监听端口,一个端口对应一个代理)
- 用户名密码无需填写
③ 填写登录信息
前面一步建立代理、点击连接后,会自动弹出输入用户名页面,可以勾选左下角的“下次自动登录”
勾选后的效果如下,输入用户名即可
输入密码
登录后的页面如下:
四、使用windterm
1.主页布局
通过截图可以看出:
- 右上角会话区域,可以新建服务器会话连接,支持新建、导入
- 左上角区域为已打开的会话
- 文件管理器支持文件的上传、下载,支持直接拖拽到此区域进行文件上传
- 大纲区域为此会话输入的历史命令,双击可立即在此会话窗口执行该命令
2.上传&下载文件
左下角文件管理器,可以创建文件夹,上传、下载文件等,也可以将文件直接拖到这个区域进行上传文件、直接将文件从这个区域拖出进行下载文件。
3.cmd & git bash
windterm右上角会话区域Shell sessions中集成了cmd及git bash窗口功能,便于同时操作多种类型会话。
4.历史操作命令
虽然有些执行过的历史命令可以通过history或是上下键进行翻滚查找到,但windterm在右下角大纲区域直接展示了本会话过程中所有执行过的历史命令,双击即可再次执行,免去多次重复键入或查找的麻烦。我认为这也是windterm最好用的特色功能之一。
5.设置锁屏密码
windterm最右下角“锁屏”可以设置锁屏密码,更改密码等,避免误操作,增强安全性。
小结
以上就是超级终端工具windterm的实际使用过程介绍。萝卜青菜各有所爱,windterm也不一定就是最好的,无论什么工具,选择适合自己的就行。如果你有更好的工具推荐,欢迎留言与我交流!