winget install --id=trzsz.tssh -e
Simple ssh client that supports trzsz, supports searching and selecting servers for batch login.
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 ) works exactly like the openssh client. The following common features have been implemented:
Features | Support Options |
---|---|
Cipher | -c Ciphers |
Pseudo TTY | -t -T RequestTTY |
Network | -4 -6 AddressFamily |
SSH Proxy | -J -W ProxyJump ProxyCommand |
Multiplexing | ControlMaster ControlPath ControlPersist |
Command | RemoteCommand , LocalCommand , PermitLocalCommand |
SSH Agent | -a -A ForwardAgent IdentityAgent SSH_AUTH_SOCK |
X11 Forward | -x -X |
-Y
ForwardX11
ForwardX11Trusted
ForwardX11Timeout
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.21 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.21 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 GitHub Releases, unzip and add to PATH
environment.
The github.com/trzsz/trzsz-ssh/tssh
can be used as a library, for example:
package main
import (
"log"
"os"
"github.com/trzsz/trzsz-ssh/tssh"
)
func main() {
// Example 1: execute command on remote server
client, err := tssh.SshLogin(&tssh.SshArgs{Destination: "root@192.168.0.1"})
if err != nil {
log.Fatal(err)
}
defer client.Close()
session, err := client.NewSession()
if err != nil {
log.Fatal(err)
}
defer session.Close()
output, err := session.CombinedOutput("whoami")
if err != nil {
log.Fatal(err)
}
log.Printf("I'm %s", string(output))
// Example 2: run the tssh program
code := 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 ./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 , or create an issue. Welcome to join the QQ group: 318578930.
❤️ Sponsor trzsz ❤️, buy the author a drink 🍺 ? Thank you for your support!