【 Go 实现 ssh 客户端】tssh 发布 v0.1.18,支持自定义界面,自定义颜色,以及更新了很多其他功能。
GitHub:https://github.com/trzsz/trzsz-ssh
Gitee:https://gitee.com/trzsz/tssh
trzsz-ssh (tssh) 设计为 ssh 客户端的直接替代品,提供与 openssh 完全兼容的基础功能,同时实现其他有用的扩展功能。
为什么做
-
服务器太多,记不住所有别名,tssh 内置登录界面,支持搜索和选择服务器登录。
-
tssh 登录服务器后,内置支持 trzsz (trz /tsz) 工具,传文件无需另外新开窗口。
-
有时需要同时登录一批机器,tssh 支持多选并批量登录,同时支持执行预设的命令。
-
有些服务器不支持公钥登录,tssh 支持记住密码,支持自动交互,提升登录的效率。
-
在 Windows 中使用 tssh 代替 trzsz ssh,可以解决 trz 上传速度很慢的问题。
主题风格
-
tssh 支持多种主题风格,在 ~/.tssh.conf 中配置 PromptThemeLayout 选用。欢迎一起来创造更多更好看的。
-
每种主题风格都支持自定义颜色,在 ~/.tssh.conf 中配置 PromptThemeColors,只要配置非默认的颜色即可。
-
请为你喜欢的主题风格❤️投票❤️,得票数最高的主题风格将会在下个版本被设置为默认主题。
tiny 小巧风
simple 简约风
table 表格风
-
在 ~/.tssh.conf 中配置 PromptThemeLayout = table 选用 table 表格风。
![]()
-
在 ~/.tssh.conf 中配置 PromptThemeColors,要求配置成一行。table 表格风 支持以下配置项:
table 颜色配置项和默认值:
{
"help_tips": "faint",
"shortcuts": "faint",
"table_header": "10",
"default_alias": "6",
"default_host": "5",
"default_group": "4",
"selected_icon": "2",
"selected_alias": "14",
"selected_host": "13",
"selected_group": "12",
"default_border": "8",
"selected_border": "10",
"details_name": "4",
"details_value": "3",
"details_border": "8"
}
-
支持的颜色枚举请参考 lipgloss,除了 help_tips 和 shortcuts 与前文 tiny 小巧风 相同。
支持 trzsz
-
在服务器上要安装 trzsz,才能使用 trz / tsz 上传和下载,可任选其一安装:Go 版( ⭐ 推荐 )、Py 版、Js 版。
-
在 ~/.ssh/config 或 ExConfigPath 配置文件中,配置 EnableDragFile 为 Yes 启用拖拽上传功能。
Host *
# 如果配置在 ~/.ssh/config 中,可以加上 `#!!` 前缀,以兼容标准 ssh
EnableDragFile Yes
-
如果只是想临时启用拖拽上传功能,可以在命令行中使用 tssh --dragfile 登录服务器。
-
在 ~/.ssh/config 或 ExConfigPath 配置文件中,配置 EnableTrzsz 为 No 禁用 trzsz 和 zmodem。
Host no_trzsz_nor_zmodem
# 如果配置在 ~/.ssh/config 中,可以加上 `#!!` 前缀,以兼容标准 ssh
EnableTrzsz No
![]()
支持 zmodem
-
在 ~/.ssh/config 或 ExConfigPath 配置文件中,配置 EnableZmodem 为 Yes 启用 rz / sz 功能。
Host *
# 如果配置在 ~/.ssh/config 中,可以加上 `#!!` 前缀,以兼容标准 ssh
EnableZmodem Yes
-
除了服务器,本地电脑也要安装 lrzsz,Windows 可以从 lrzsz-win32 下载,解压并加到 PATH 环境变量中,也可以如下安装:
-
如果只是想临时启用 rz / sz 传文件功能,可以在命令行中使用 tssh --zmodem 登录服务器。
-
关于 rz / sz 进度条,己传大小和传输速度会有一点偏差,它的主要作用只是指示传输正在进行中。
批量登录
-
支持在 iTerm2( 要开启 Python API,但不需要 Allow all apps to connect ),tmux 和 Windows Terminal 中一次选择多台服务器,批量登录,并支持批量执行预先指定的命令。
-
按下 Space、Ctrl+X 等可以选中或取消当前服务器,若不能选中说明还不支持当前终端,请先运行 tmux。
-
按下 a 或 Ctrl+A 全选当前页所有机器,o 或 Ctrl+O 反选当前页所有机器,d 或 l 翻到下一页。
-
按下 p 或 Ctrl+P 以分屏的方式登录,w 或 Ctrl+W 以新窗口登录,t 或 Ctrl+T 以新 tab 登录。
-
tssh 不带参数启动可以批量登录服务器,若带 -o RemoteCommand 参数启动则可以批量执行指定的命令。支持执行指定命令之后进入交互式 shell,但 Windows Terminal 不支持分号 ;,可以用 |cat&& 代替。举例:
tssh -t -o RemoteCommand='ping -c3 trzsz.github.io ; bash -l'
tssh -t -o RemoteCommand="ping -c3 trzsz.github.io |cat&& bash -l"
![]()