tssh 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
tssh 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
tssh 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
开发语言 Google Go
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 LonnyWong
适用人群 未知
收录时间 2023-05-29

软件简介

支持 trzsz ( trz / tsz ) 的 ssh 客户端,支持搜索和选择服务器进行批量登录,支持记住密码。

GitHub:https://github.com/trzsz/trzsz-ssh

tssh 简介

你喜欢的 ssh 终端是否有好用的服务器管理功能?是否支持记住密码?是否有好用的文件传输工具?

tssh 支持选择或搜索 ~/.ssh/config 中配置的服务器,支持 vim 操作习惯,解决 ssh 终端的服务器管理问题。

tssh 支持一次选择多台服务器,批量登录,并支持批量执行预先指定的命令,方便快速完成批量服务器操作。

tssh 支持配置服务器登录密码,解决每次手工输入密码的麻烦( 在自己能控制的服务器,推荐使用公私钥登录 )。

tssh 内置支持 trzsz ( trz / tsz ) 文件传输工具,一并解决了 Windows 中使用 trzsz ssh 上传速度很慢的问题。

在作者的 MacOS 上,使用 trzsz ssh 的上传速度在 10 MB/s 左右,而使用 tssh 可以到 80 MB/s 以上。

安装方法

客户端安装 trzsz-ssh ( tssh ) 的方法如下( 任选其一 ):

  • Windows 可用 scoop / winget / choco 安装

    scoop install tssh / winget install tssh / choco install tssh
    scoop install tssh
    
    winget install tssh
    
    choco install tssh
    
  • MacOS 可用 homebrew 安装

    brew install trzsz-ssh
    brew update
    brew install trzsz-ssh
    
  • Ubuntu 可用 apt 安装

    sudo apt install tssh
    sudo apt update && sudo apt install software-properties-common
    sudo add-apt-repository ppa:trzsz/ppa && sudo apt update
    
    sudo apt install tssh
    
  • Debian 可用 apt 安装

    sudo apt install tssh
    sudo apt install curl gpg
    curl -s 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x7074ce75da7cc691c1ae1a7c7e51d1ad956055ca' \
      | gpg --dearmor -o /usr/share/keyrings/trzsz.gpg
    echo 'deb [signed-by=/usr/share/keyrings/trzsz.gpg] https://ppa.launchpadcontent.net/trzsz/ppa/ubuntu jammy main' \
      | sudo tee /etc/apt/sources.list.d/trzsz.list
    sudo apt update
    
    sudo apt install tssh
    
  • Linux 可用 yum 安装

    sudo yum install tssh
    • 国内推荐使用 wlnmp 源,安装 tssh 只需要添加 wlnmp 源( 配置 epel 源不是必须的 ),以 CentOS 为例:

      sudo rpm -ivh https://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm
      
      sudo yum install tssh
      
    • 也可使用 gemfury 源( 只要网络通,所有操作系统通用 )

      echo '[trzsz]
      name=Trzsz Repo
      baseurl=https://yum.fury.io/trzsz/
      enabled=1
      gpgcheck=0' | sudo tee /etc/yum.repos.d/trzsz.repo
      
      sudo yum install tssh
      
  • ArchLinux 可用 yay 安装

    yay -S tssh
    yay -Syu
    yay -S tssh
    
  • 用 Go 直接安装( 要求 go 1.20 以上 )

    go install github.com/trzsz/trzsz-ssh/cmd/tssh@latest
    go install github.com/trzsz/trzsz-ssh/cmd/tssh@latest
    

    安装后,tssh 程序一般位于 ~/go/bin/ 目录下( Windows 一般在 C:\Users\your_name\go\bin\ )。

  • 可从 Releases 中直接下载适用的版本

    或者用 Go 编译( 要求 go 1.20 以上 )
    git clone https://github.com/trzsz/trzsz-ssh.git
    cd trzsz-ssh
    go build ./cmd/tssh
    

服务器上要安装 trzsz 才能使用 trz / tsz 上传和下载,可任选其一安装: Go 版( ⭐ 推荐 )、Py 版Js 版

如果服务器不安装 trzsz,也能用 tssh,只是不使用 trz / tsz 上传和下载而已。

使用方法

~/ 代表 HOME 目录。在 Windows 中,请将下文的 ~/ 替换成 C:\Users\your_name\

  • 在客户端生成密钥对,一般存放在 ~/.ssh/ 下:

    • ssh-keygen -t rsa -b 4096 生成 RSA 的,私钥 ~/.ssh/id_rsa,公钥 ~/.ssh/id_rsa.pub
  • 登录服务器,将公钥( 即前面生成密钥对时 .pub 后缀的文件内容 )追加写入服务器上的 ~/.ssh/authorized_keys 文件中。

    一行代表一个客户端的公钥,注意 ~/.ssh/authorized_keys 要设置正确的权限:

    chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
    
  • 在客户端配置好 ~/.ssh/config 文件,举例:

    Host alias1
        HostName 192.168.0.1
        Port 22
        User your_name
    Host alias2
        HostName 192.168.0.2
        Port 22
        User your_name
    
  • 使用 tssh 命令登录服务器,tssh alias1 命令登录在 ~/.ssh/config  alias1 对应的服务器。

  • 直接执行 tssh 命令( 不带参数 ),可以选择( 搜索 ) ~/.ssh/config 中配置好的服务器并登录。

批量登录

  • 目前支持在 tmux  Windows Terminal 中一次选择多台服务器,批量登录,并支持批量执行预先指定的命令。

  • 按下 SpaceCtrl+X 等可以选中或取消当前服务器,若不能选中说明还不支持当前终端,请先运行 tmux

  • 按下 Ctrl+P 会以分屏的方式批量登录,Ctrl+W 会打开新窗口批量登录,Ctrl+T 会打开新 tab 批量登录。

  • tssh 不带参数启动可以批量登录服务器,若带 -o RemoteCommand 参数启动则可以批量执行指定的命令。支持执行指定命令之后进入交互式 shell,但 Windows Terminal 不支持分号 ;,可以用 |cat&& 代替。举例:

    tssh -t -o RemoteCommand='ping -c3 trzsz.github.io ; bash'
    tssh -t -o RemoteCommand="ping -c3 trzsz.github.io |cat&& bash"
    

记住密码

  • 为了兼容标准 ssh ,密码配置项独立放在 ~/.ssh/password 中,其他配置项依然放在 ~/.ssh/config 中。

  • 推荐使用前面密钥认证的方式,密码的安全性弱一些。如果必须要用,建议设置好 ~/.ssh/password 的权限:

    chmod 700 ~/.ssh && chmod 600 ~/.ssh/password
     
  • 下面 ~/.ssh/password 配置 test2 的密码是 123456,其他以 test 开头的密码是 111111

    Host test2
        Password 123456
    
    # ~/.ssh/config 和 ~/.ssh/password 是支持通配符的,tssh 会使用第一个匹配到的值。
    # 这里希望 test2 使用区别于其他 test* 的密码,所以将 test* 放在了 test2 的后面。
    
    Host test*
        Password 111111
     
  • 支持记住私钥的Passphrase。如果 ~/.ssh/config 中配置了 IdentityFile, 则使用相同的 Host 别名,在 ~/.ssh/password 中配置对应的 Passphrase。如果 ~/.ssh/config 中没有配置 IdentityFile,通用的私钥则使用私钥文件名代替 Host 别名。举例:

    # ~/.ssh/config 中 test1 配置了 IdentityFile
    Host test1
        IdentityFile /path/to/id_rsa
     
    # ~/.ssh/password 中配置 test1 私钥对应的 Passphrase
    Host test1
        Passphrase 123456
    
    # ~/.ssh/password 中配置通用私钥 ~/.ssh/id_rsa 对应的 Passphrase
    Host id_rsa
        Passphrase 111111

记住答案

  • 除了私钥和密码,还有一种登录方式,英文叫 keyboard interactive ,是服务器返回一些问题,客户端提供正确的答案就能登录,很多自定义的一次性密码就是利用这种方式实现的。

  • 如果答案是固定不变的,tssh 支持“记住答案”,也是在 ~/.ssh/password 中进行配置。大部分都是只有一个问题,只要配置 QuestionAnswer1 即可。对于有多个问题的,每个问题答案可按序号进行配置,也可以按问题的 hex 编码进行配置。

  • 使用 tssh --debug 登录,会输出问题的 hex 编码,从而知道该如何使用 hex 编码进行配置。配置举例:

    Host test1
        QuestionAnswer1 答案一
    Host test2
        QuestionAnswer1 答案一
        QuestionAnswer2 答案二
        QuestionAnswer3 答案三
    Host test3
        6e616d653a20 my_name  # 其中 `6e616d653a20` 是问题 `name: ` 的 hex 编码
        636f64653a20 my_code  # 其中 `636f64653a20` 是问题 `code: ` 的 hex 编码
    

可选配置

  • 支持在 ~/.tssh.conf( Windows 是 C:\Users\your_name\.tssh.conf )中进行以下自定义配置:

    # SSH 配置路径,默认为 ~/.ssh/config
    ConfigPath = ~/.ssh/config
    
    # 扩展配置路径,默认为 ~/.ssh/password
    ExConfigPath = ~/.ssh/password
    
    # trz 上传时,对话框打开的路径,为空时打开上次的路径, 默认为空
    DefaultUploadPath = ~/Downloads
    
    # tsz 下载时,自动保存的路径,为空时弹出对话框手工选择,默认为空
    DefaultDownloadPath = ~/Downloads

快捷键

操作 全局快捷键 非搜索快捷键 快捷键描述
Confirm Enter   确认并登录
Quit/Exit Ctrl+C Ctrl+Q q Q 取消并退出
Move Prev Ctrl+K Shift+Tab ↑ k K 往上移光标
Move Next Ctrl+J Tab ↓ j J 往下移光标
Page Up Ctrl+H Ctrl+U Ctrl+B PageUp ← h H u U b B 往上翻一页
Page Down Ctrl+L Ctrl+D Ctrl+F PageDown → l L d D f F 往下翻一页
Goto Home Home g 跳到第一行
Goto End End G 跳到最尾行
EraseKeys Ctrl+E e E 擦除搜索关键字
TglSearch /   切换搜索功能
Tgl Help ?   切换帮助信息
TglSelect Ctrl+X Ctrl+Space Alt+Space Space x X 切换选中状态
SelectAll Ctrl+A a A 全选当前页
SelectOpp Ctrl+O o O 反选当前页
Open Wins Ctrl+W w W 新窗口批量登录
Open Tabs Ctrl+T t T 新 Tab 批量登录
Open Pane Ctrl+P p P 分屏批量登录

故障排除

  • 如果你在使用 Windows7 或者旧版本的 Windows10 等,遇到 enable virtual terminal failed 的错误。

录屏演示

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
发表了资讯
08/28 10:27

【 用 go 实现的 ssh 】发布 v0.1.11 支持更多配置项

https://github.com/trzsz/trzsz-ssh 发布 v0.1.11,支持记住 ssh 私钥密码,支持 ssh-agent,支持 ~/.tssh.conf 自定义配置,以及其他更多 ssh 配置。 tssh 简介 你喜欢的 ssh 终端是否有好用的服务器管理功能?是否支持记住密码?是否有好用的文件传输工具? tssh 支持选择或搜索 ~/.ssh/config 中配置的服务器,支持 vim 操作习惯,解决 ssh 终端的服务器管理问题。 tssh 支持一次选择多台服务器,批量登录,并支持批量执行预...

0
1
发表了资讯
08/27 23:10

tssh v0.1.11 发布,支持 trz/tsz 的 ssh 客户端

tssh v0.1.11 已经发布,支持 trz/tsz 的 ssh 客户端。 此版本更新内容包括: 支持记住 Passphrase 支持 ~/.tssh.conf 配置 支持 ssh-agent 支持更多配置项 详情查看:https://gitee.com/trzsz/tssh/releases/v0.1.11

0
0
发表了资讯
08/14 11:08

【 Go 小而美的 ssh 】tssh 发布 v0.1.10

【 Go 小而美的 ssh 】tssh 发布 v0.1.10,支持模糊关键字进行 ssh 登录( 会弹出匹配的服务器列表,回车选择登录 )。 支持在旧版本 Windows 7 中使用( 要求在 Git Bash、Cygwin 或 MSYS2 中运行 )。 支持有密码保护的私钥( 兼容新版本要求 rsa-sha2-256/512 的登录方式 )。 GitHub:https://github.com/trzsz/trzsz-ssh tssh 简介 你喜欢的 ssh 终端是否有好用的服务器管理功能?是否支持记住密码?是否有好用的文件传输工...

4
2
发表了资讯
08/13 21:32

tssh v0.1.10 发布,支持 trz/tsz 的 ssh 客户端

tssh v0.1.10 已经发布,支持 trz/tsz 的 ssh 客户端。 此版本更新内容包括: 支持命令行自动搜索 支持在 Win7( Cygwin 和 MSYS2 中 )使用 支持有密码保护的私钥 rsa-sha2-256/512 详情查看:https://gitee.com/trzsz/tssh/releases/v0.1.10

0
0
发表了资讯
07/31 14:27

tssh v0.1.9 优化了搜索和批量登录

【 Go 版 ssh 】tssh 发布 v0.1.9,优化了搜索和批量登录功能。 快捷键 操作 全局快捷键 非搜索快捷键 快捷键描述 Confirm Enter 确认并登录 Quit/Exit Ctrl+C Ctrl+Q q Q 取消并退出 Move Prev Ctrl+K Shift+Tab ↑ k K 往上移光标 Move Next Ctrl+J Tab ↓ j J 往下移光标 Page Up Ctrl+H Ctrl+U Ctrl+B PageUp ← h H u U b B 往上翻一页 Page Down Ctrl+L Ctrl+D Ctrl+F PageDown → l L d D f F 往下翻一页 Goto Home Home...

0
0
发表了资讯
07/23 12:15

【 Go 版 ssh 客户端 】tssh v0.1.8 支持批量登录和批量执行命令

Go 实现的 ssh 客户端,发布 v0.1.8 新版本,支持批量登录,批量执行指定的命令。 GitHub:https://github.com/trzsz/trzsz-ssh Gitee:https://gitee.com/trzsz/tssh 目前支持在 tmux 和 Windows Terminal 中一次选择多台服务器,批量登录,并支持批量执行预先指定的命令。 按下 Space、Ctrl+Space 或 Alt+Space 可以选中或取消当前服务器,若不能选中说明还不支持当前终端,请先运行 tmux。 按下 Enter 或 Ctrl+P 会以分屏的方...

1
4
发表了资讯
07/18 11:09

【 用 Go 实现的 ssh 客户端 】tssh 发布 v0.1.7

Go 实现的 ssh 客户端,发布 v0.1.7 新版本,升级 trzsz ( trz / tsz ) 到 1.1.4 版本,支持断点续传,进一步优化了传输速度和使用体验: 1 、如果传输发生中断,或者传完后文件有修改,再使用 trz -y 上传,或者使用 tsz -y xxx 下载, 将会快速跳过前面一致的部分,从不一致的位置开始断点续传。 2 、按下 Ctrl + C 时不再直接退出,可以选择保留已传输的部分,或删除已传输的部分,或继续传输剩下的部分。 3 、自动检测要传输...

0
3
发表了资讯
07/11 14:31

【 用 go 的 ssh 客户端 】tssh 发布 v0.1.6

【 用 go 的 ssh 客户端 】tssh 发布 v0.1.6,解决了 known hosts 的问题,支持更多类型的私钥( 含密码 )。 GitHub:https://github.com/trzsz/trzsz-ssh Gitee:https://gitee.com/trzsz/tssh 安装方法 客户端安装 trzsz-ssh ( tssh ) 的方法如下( 任选其一 ): Windows 可用 scoop 安装 scoop bucket add extras scoop update scoop install tssh MacOS 可用 homebrew 安装 brew update brew install trzsz-ssh ...

1
3
发表了资讯
07/04 14:07

支持记住密码的 ssh 客户端 tssh 发布 v0.1.5

trzsz-ssh ( tssh ) 发布 v0.1.5,新版本支持记住密码、记住 keyboard interactive 的答案自动登录。 你是否曾经因为服务器太多记不住,而喜欢的 ssh 终端又没有服务器管理功能而苦恼? tssh 支持选择( 搜索 ) ~/.ssh/config 中配置的服务器进行登录,支持酷炫的 vim 操作习惯。 tssh 内置支持 trzsz (trz /tsz) ,一并解决了 Windows 中使用 trzsz ssh 上传速度很慢的问题。 在作者的 MacOS 上,使用 trzsz ssh 的上传速度在...

2
1
发表了资讯
06/25 09:44

Go 版 ssh 客户端 tssh 发布 v0.1.4,支持 ssh 端口转发

用 Go 实现的 ssh 客户端 tssh 发布 v0.1.4,支持 ssh 端口转发。 GitHub:https://github.com/trzsz/trzsz-ssh Gitee:https://gitee.com/trzsz/tssh 你是否曾经因为服务器太多记不住,而喜欢的 ssh 终端又没有服务器管理功能而苦恼? tssh 支持选择( 搜索 ) ~/.ssh/config 中配置的服务器进行登录,支持酷炫的 vim 操作习惯。 tssh 内置支持 trzsz ( trz / tsz ) ,一并解决了 Windows 中使用 trzsz ssh 上传速度很慢的问题...

0
3
发表了资讯
06/18 10:50

用 Go 实现的 ssh 客户端 tssh 发布 v0.1.3

tssh v0.1.3 发布,支持指定多个私钥,支持使用密码保护的私钥。 GitHub:https://github.com/trzsz/trzsz-ssh Gitee:https://gitee.com/trzsz/tssh 你是否曾经因为服务器太多记不住,而喜欢的 ssh 终端又没有服务器管理功能而苦恼? tssh 支持选择( 搜索 ) ~/.ssh/config 中配置的服务器进行登录,支持酷炫的 vim 操作习惯。 tssh 内置支持 trzsz (trz /tsz) ,一并解决了 Windows 中使用 trzsz ssh 上传速度慢的问题。 安装...

0
5
发表了资讯
06/14 10:18

Go 版 ssh 客户端 tssh 发布 v0.1.2

Go 版 ssh 客户端 tssh 发布 v0.1.2,新增以下功能: 1、支持“记住密码” 2、配置私钥时支持 ~/ 3、支持配合 git 使用 4、修复某些场景下窗口大小问题 GitHub:https://github.com/trzsz/trzsz-ssh Gitee:https://gitee.com/trzsz/tssh 你是否曾经因为服务器太多记不住,而喜欢的 ssh 终端又没有服务器管理功能而苦恼? tssh 支持选择( 搜索 ) ~/.ssh/config 中配置的服务器进行登录,支持酷炫的 vim 操作习惯。 tssh 内置支...

0
2
发表了资讯
06/04 11:08

用 Go 实现的 ssh 客户端 tssh 发布 v0.1.1

你是否曾经因为服务器太多记不住,而喜欢的 ssh 终端又没有服务器管理功能而苦恼? tssh v0.1.1 已实现 ssh 客户端常用的基本功能( 除了 ssh 端口转发 ),一般人用到的 ssh 功能都已支持,欢迎各位大佬试用。 两大额外功能( 亮点 ): 1 、支持选择( 搜索 )~/.ssh/config 中的服务器,进行登录。相当于 tssh 内置了服务器管理功能,并且类似 vim 的操作方式不需要用到鼠标。 2 、tssh 内置支持 trzsz ( trz / tsz ),这在 ...

2
2
发表了资讯
05/29 10:33

【 小而美的 ssh 客户端 】tssh 发布 v0.1

【 小而美的 ssh 客户端 】tssh 发布 v0.1 邀请你体验。 软件简介 你是否曾经因为服务器太多记不住,而喜欢的 ssh 终端又没有相应的服务器管理功能而苦恼? tssh 支持类似 vim 的方式( 包括上下左右箭头)选择 ~/.ssh/config 中配置的服务器进行登录,还支持搜索并登录。 tssh 还支持 trzsz ( trz / tsz ) https://www.oschina.net/p/trzsz,一并解决了 Windows 中使用 trzsz ssh 上传速度慢的问题。 GitHub:https://github....

1
10
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
10 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部