Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork119
trzsz-ssh ( tssh ) is an ssh client 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. Such as login prompt, batch login, remember password, automated interaction, trzsz, zmodem(rz/sz), udp mode like mosh, etc.
License
trzsz/trzsz-ssh
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
trzsz-ssh ( tssh ) is an ssh client 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 ) withtsshd also supports intermittent connectivity, allows roaming, and can be used on high-latency links such as cellular data connections, unstable Wi-Fi, etc.
trzsz-ssh ( tssh ) works exactly like the openssh client. The following common features have been implemented:
| Features | Support Options |
|---|---|
| Cipher | -cCiphers |
| Pseudo TTY | -t-TRequestTTY |
| SSH Proxy | -J-WProxyJumpProxyCommand |
| Network | -4-6AddressFamilyConnectTimeout |
| Multiplexing | ControlMasterControlPathControlPersist |
| Command | RemoteCommand,LocalCommand,PermitLocalCommand |
| X11 Forward | -x-X-YForwardX11ForwardX11TrustedForwardX11Timeout |
| Known Hosts | UserKnownHostsFileGlobalKnownHostsFileStrictHostKeyChecking |
| SSH Agent | -a-AForwardAgentIdentityAgentIdentitiesOnlySSH_AUTH_SOCK |
| Basic Login | -l-p-i-FHostNamePortUserIdentityFileSendEnvSetEnv |
| Authentication | PubkeyAuthenticationPasswordAuthenticationKbdInteractiveAuthenticationGSSAPIAuthentication |
| Port Forward | -g-f-N-L-R-DLocalForwardRemoteForwardDynamicForwardGatewayPortsClearAllForwardings |
trzsz-ssh ( tssh ) offers additional useful features:
Install with scoop / winget / choco on Windows
scoop install tssh/winget install tssh/choco install tsshscoop install tssh
winget install tssh
choco install tssh
Install with Homebrew on MacOS
brew install trzsz-sshbrew install trzsz-ssh
Install with apt on Ubuntu
sudo apt install tsshsudo apt update&& sudo apt install software-properties-commonsudo add-apt-repository ppa:trzsz/ppa&& sudo apt updatesudo apt install tssh
Install with apt on Debian
sudo apt install tsshsudo apt install curl gpgcurl -s'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x7074ce75da7cc691c1ae1a7c7e51d1ad956055ca' \| gpg --dearmor -o /usr/share/keyrings/trzsz.gpgecho'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.listsudo apt updatesudo apt install tssh
Install with yum on Linux
sudo yum install tsshInstall withgemfury repository.
echo'[trzsz]name=Trzsz Repobaseurl=https://yum.fury.io/trzsz/enabled=1gpgcheck=0'| sudo tee /etc/yum.repos.d/trzsz.reposudo yum install tssh
Install withwlnmp repository. It's not necessary to configure the epel repository for tssh.
curl -fsSL"https://sh.wlnmp.com/wlnmp.sh"| bashsudo yum install tssh
Install with yay on ArchLinux
yay -S tsshyay -Syuyay -S tssh
Install with Chromebrew on ChromeOS
crew install tsshcrew install tssh
Install with Go ( Requires go 1.25 or later )
go install github.com/trzsz/trzsz-ssh/cmd/tssh@latestgo 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.25 or later )
sudo make installgit clone --depth 1 https://github.com/trzsz/trzsz-ssh.gitcd trzsz-sshmakesudo make installDownload from theGitHub Releases, unzip and add to
PATHenvironment.
Thegithub.com/trzsz/trzsz-ssh/tssh can be used as a library, for example:
package mainimport ("log""os""github.com/trzsz/trzsz-ssh/tssh")funcmain() {// Example 1: execute command on remote serverclient,err:=tssh.SshLogin(&tssh.SshArgs{Destination:"root@192.168.0.1"})iferr!=nil {log.Fatal(err)}deferclient.Close()session,err:=client.NewSession()iferr!=nil {log.Fatal(err)}defersession.Close()output,err:=session.CombinedOutput("whoami")iferr!=nil {log.Fatal(err)}log.Printf("I'm %s",string(output))// Example 2: run the tssh programcode:=tssh.TsshMain([]string{"-t","root@192.168.0.1","bash -l"})os.Exit(code)}
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 ./tsshpass.Build the binary
go build -o ./bin/ ./cmd/tsshand test it./bin/tssh.Once you are happy with your changes, please submit a pull request.
Feel free to email the authorlonnywong@qq.com, or create anissue. Welcome to join the QQ group: 318578930.
❤️ Sponsor trzsz ❤️, buy the author a drink 🍺 ? Thank you for your support!
About
trzsz-ssh ( tssh ) is an ssh client 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. Such as login prompt, batch login, remember password, automated interaction, trzsz, zmodem(rz/sz), udp mode like mosh, etc.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.




