The tsshd
works like mosh-server
, while the tssh --udp
works like mosh
.
Port Forwarding ( same as openssh, includes ssh agent forwarding and X11 forwarding )
[TODO] Connection Migration ( supports network switching and reconnection, depends on quic-go#234 )
Install tssh on the client ( the user's machine ).
Install tsshd on the server ( the remote host ).
Use tssh --udp
to login to the server. Configure as follows to omit --udp
:
Host xxx
#!! UdpMode yes
#!! TsshdPath ~/go/bin/tsshd
The tssh
plays the role of ssh
on the client side, and the tsshd
plays the role of sshd
on the server side.
The tssh
will first login to the server normally as an ssh client, and then run a new tsshd
process on the server.
The tsshd
process listens on a random udp port between 61000 and 62000, and sends its port number and a secret key back to the tssh
process over the ssh channel. The ssh connection is then shut down, and the tssh
process communicates with the tsshd
process over udp.
The tsshd
supports QUIC
protocol and KCP
protocol (the default is QUIC
), which can be specified on the command line (such as -oUdpMode=KCP
), or configured as follows:
Host xxx
#!! UdpMode KCP
Install with apt on Ubuntu
sudo apt install tsshd
Install with apt on Debian
sudo apt install tsshd
Install with yum on Linux
sudo yum install tsshd
Install with yay on ArchLinux
yay -S tsshd
Install with Go ( Requires go 1.21 or later )
go install github.com/trzsz/tsshd/cmd/tsshd@latest
Build from source ( Requires go 1.21 or later )
sudo make install
Download from the GitHub Releases, unzip and add to PATH
environment.
Feel free to email the author lonnywong@qq.com, or create an issue. Welcome to join the QQ group: 318578930.
❤️ Sponsor trzsz ❤️, buy the author a drink 🍺 ? Thank you for your support!