【 基于 UDP 的 ssh 】tsshd 发布 v0.1.3,支持自定义端口。
GitHub:https://github.com/trzsz/tsshd
优点简介
-
降低延迟( 基于 QUIC / KCP )
-
端口转发( 与 openssh 相同,包括 ssh agent 转发和 X11 转发 )
-
[TODO] 连接迁移( 支持网络切换和掉线重连,依赖于 quic-go#234 )
如何使用
-
在客户端(本地电脑)上安装 tssh。
-
在服务端(远程机器)上安装 tsshd。
-
使用
tssh --udp
登录服务器。如下配置可省略--udp
参数:Host xxx #!! UdpMode yes #!! UdpPort 61000-62000 #!! TsshdPath ~/go/bin/tsshd
原理简介
-
tssh
在客户端扮演ssh
的角色,tsshd
在服务端扮演sshd
的角色。 -
tssh
会先作为一个 ssh 客户端正常登录到服务器上,然后在服务器上启动一个新的tsshd
进程。 -
tsshd
进程会随机侦听一个 61000 到 62000 之间的 UDP 端口(可通过UdpPort
配置自定义),并将其端口和密钥通过 ssh 通道发回给tssh
进程。登录的 ssh 连接会被关闭,然后tssh
进程通过 UDP 与tsshd
进程通讯。 -
tsshd
支持QUIC
协议和KCP
协议(默认是QUIC
协议),可以命令行指定(如-oUdpMode=KCP
),或如下配置:Host xxx #!! UdpMode KCP
安装方法
-
Ubuntu 可用 apt 安装
sudo apt install tsshd
sudo apt update && sudo apt install software-properties-common sudo add-apt-repository ppa:trzsz/ppa && sudo apt update sudo apt install tsshd
-
Debian 可用 apt 安装
sudo apt install tsshd
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 tsshd
-
Linux 可用 yum 安装
sudo yum install tsshd
-
国内推荐使用 wlnmp 源,安装 tsshd 只需要添加 wlnmp 源( 配置 epel 源不是必须的 ):
curl -fsSL "https://sh.wlnmp.com/wlnmp.sh" | bash sudo yum install tsshd
-
也可使用 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 tsshd
-
-
ArchLinux 可用 yay 安装
yay -S tsshd
yay -Syu yay -S tsshd
-
用 Go 直接安装( 要求 go 1.21 以上 )
go install github.com/trzsz/tsshd/cmd/tsshd@latest
go install github.com/trzsz/tsshd/cmd/tsshd@latest
安装后,
tsshd
程序一般位于~/go/bin/
目录下( Windows 一般在C:\Users\your_name\go\bin\
)。 -
用 Go 自己编译( 要求 go 1.21 以上 )
sudo make install
git clone --depth 1 https://github.com/trzsz/tsshd.git cd tsshd make sudo make install
-
可从 GitHub Releases 中下载,国内可从 Gitee 发行版 中下载,解压并加到
PATH
环境变量中。