🔥【 Go 实现 ssh 客户端】tssh 支持自定义界面 v0.1.18
【 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 小巧风
-
在
~/.tssh.conf中配置PromptThemeLayout = tiny选用tiny 小巧风。 -
在
~/.tssh.conf中配置PromptThemeColors,要求配置成一行。tiny 小巧风支持以下配置项:tiny 颜色配置项和默认值:{ "help_tips": "faint", "shortcuts": "faint", "label_icon": "blue", "label_text": "default", "cursor_icon": "green|bold", "active_selected": "green|bold", "active_alias": "cyan|bold", "active_host": "magenta|bold", "active_group": "blue|bold", "inactive_selected": "green|bold", "inactive_alias": "cyan", "inactive_host": "magenta", "inactive_group": "blue", "details_title": "default", "details_name": "faint", "details_value": "default" }
tiny 支持的颜色枚举,可用 `|` 连接多个:default black red green yellow blue magenta cyan white bgBlack bgRed bgGreen bgYellow bgBlue bgMagenta bgCyan bgWhite bold faint italic underline
simple 简约风
-
在
~/.tssh.conf中配置PromptThemeLayout = simple选用simple 简约风。 -
simple 简约风支持的颜色配置项、默认值和颜色枚举,和tiny 小巧风完全相同,请参考前文。
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环境变量中,也可以如下安装:scoop install lrzszchoco install lrzsz -
如果只是想临时启用
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"




