您现在的位置是:首页 > 文章详情

🔥【 Go 实现 ssh 客户端】tssh 支持自定义界面 v0.1.18

日期:2024-01-31点击:209

【 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 lrzsz
     
     choco install lrzsz
     
  • 如果只是想临时启用 rz / sz 传文件功能,可以在命令行中使用 tssh --zmodem 登录服务器。

  • 关于 rz / sz 进度条,己传大小和传输速度会有一点偏差,它的主要作用只是指示传输正在进行中。

批量登录

  • 支持在 iTerm2( 要开启 Python API,但不需要 Allow all apps to connect ),tmux  Windows Terminal 中一次选择多台服务器,批量登录,并支持批量执行预先指定的命令。

  • 按下 SpaceCtrl+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"
     

原文链接:https://www.oschina.net/news/277014/tssh-0-1-18-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章