trzsz-ssh ( tssh ) is an open-source project written in golang, designed as a drop-in replacement for the openssh client. It aims to provide complete compatibility with openssh, mirroring all its features, while also offering additional useful features not found in the openssh client.
trzsz-ssh ( tssh ) works exactly like the openssh client. The following common features have been implemented:
Features | Support Options |
---|---|
SSH Proxy | -J -W ProxyJump ProxyCommand |
Pseudo TTY | -t -T RequestTTY , RemoteCommand |
Multiplexing | ControlMaster ControlPath ControlPersist |
SSH Agent | -a -A ForwardAgent IdentityAgent SSH_AUTH_SOCK |
Known Hosts | UserKnownHostsFile GlobalKnownHostsFile StrictHostKeyChecking |
Basic Login | -l -p -i -F HostName Port User IdentityFile SendEnv SetEnv |
Authentication | PubkeyAuthentication PasswordAuthentication KbdInteractiveAuthentication |
Port Forward | -g -f -N -L -R -D LocalForward RemoteForward DynamicForward GatewayPorts ClearAllForwardings |
trzsz-ssh ( tssh ) offers additional useful features:
-
Install with scoop / winget / choco on Windows
scoop install tssh
/winget install tssh
/choco install tssh
scoop install tssh
winget install tssh
choco install tssh
-
Install with homebrew on MacOS
brew install trzsz-ssh
brew update brew install trzsz-ssh
-
Install with apt on Ubuntu
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
-
Install with apt on Debian
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
-
Install with yum on Linux
sudo yum install tssh
-
Install with gemfury repository.
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
-
Install with wlnmp repository. It's not necessary to configure the epel repository for tssh.
curl -fsSL "https://sh.wlnmp.com/wlnmp.sh" | bash sudo yum install tssh
-
-
Install with yay on ArchLinux
yay -S tssh
yay -Syu yay -S tssh
-
Install with Go ( Requires go 1.20 or later )
go install github.com/trzsz/trzsz-ssh/cmd/tssh@latest
go install github.com/trzsz/trzsz-ssh/cmd/tssh@latest
The binaries are usually located in ~/go/bin/ ( C:\Users\your_name\go\bin\ on Windows ).
-
Build from source ( Requires go 1.20 or later )
sudo make install
git clone --depth 1 https://github.com/trzsz/trzsz-ssh.git cd trzsz-ssh make sudo make install
-
Download from the Releases
Welcome and thank you for considering contributing. We appreciate all forms of support, from coding and testing to documentation and CI/CD improvements.
-
Fork and clone the repository
https://github.com/trzsz/trzsz-ssh.git
. -
Make your changes just ensure that the unit tests
go test ./tssh
pass. -
Build the binary
go build -o ./bin/ ./cmd/tssh
and test it./bin/tssh
. -
Once you are happy with your changes, please submit a pull request.
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!