SSH-X-Term is a modern, terminal-based SSH client with a rich TUI (Text User Interface) built on Bubble Tea.
SSH-X-Term is a fully self-contained SSH client implemented entirely in Go. There are no external SSH tools or wrappers involved โ all SSH, SCP, SFTP, port tunneling, packet inspection, and terminal handling is built in.
It combines SSH connection management, interactive terminals, SCP/SFTP file transfers, visual port forwarding & traffic inspection, and secure credential storage into a single, fast, cross-platform application.
Credentials can be stored securely using your local system keyring or directly in your Bitwarden vault.
- โ
Pure Go SSH client โ no
ssh, nopassh, noplinkrequired - โ
SSH Port Forwarding & Tunnels โ Local (
-L), Remote (-R), and Dynamic SOCKS5 (-D) - โ Visual Topology Diagrams โ interactive ASCII/Unicode tunnel graph with live metrics
- โ Live Packet Inspector & Hex Dump โ stream raw payload packets in real time with 1-click clipboard export
- โ Cross-platform โ identical behavior and rendering on Linux, macOS, and Windows
- โ Built-in terminal emulator โ full xterm-256color support with scrollback buffer
- โ SCP / SFTP Dual-Pane File Manager โ seamlessly transfer files over existing sessions
- โ Secure Credential Storage โ system keyring (Keychain, Secret Service, Credential Manager) + Bitwarden CLI
- โ First-class TUI โ responsive, keyboard-driven, mouse-aware full-screen experience
Manage and monitor SSH tunnels directly within the TUI without remembering complex CLI flags.
- Supported Tunnel Modes:
- Local Port Forwarding (
-L): Forward local ports to remote services (e.g. remote VNC desktop5900โ127.0.0.1:5900, private PostgreSQL/MySQL databases, internal web dashboards, Kubernetes pods). - Remote Port Forwarding (
-R): Expose local development servers or APIs to a remote relay server. - Dynamic SOCKS5 Proxy (
-D): Turn your remote SSH host into a flexible SOCKS5 proxy for browsers and CLI tools.
- Local Port Forwarding (
- Port Conflict Detection: Automatically verifies local and remote port availability before binding to prevent socket collisions.
- Auto-Start Support: Flag tunnels to automatically activate whenever a host connection is initiated.
- Safe Persistent Storage: Saved directly alongside your host configuration with OpenSSH compatibility.
โ Tunnel 1 of 1: Remote VNC Desktop โบ
โญโโโโโโโโโโโโโโโโโโโโโ TOPOLOGY: LOCAL (Remote VNC Desktop) โโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โ
โ โญโโโโโโโโโโโโโโโโโโโฎ โญโโโโโโโโโโโโโโโโโโโฎ โญโโโโโโโโโโโโโโโโโโโฎ โ
โ โ LOCAL LISTENER โ โโ(SSH)โโโบ โ SSH RELAY โ โโ(TCP)โโโบ โ REMOTE TARGET โ โ
โ โ 127.0.0.1:5900 โ โ remote-host:22 โ โ 127.0.0.1:5900 โ โ
โ โ (Your Machine) โ โ(Bastion / Server)โ โ (Target Service) โ โ
โ โฐโโโโโโโโโโโโโโโโโโโฏ โฐโโโโโโโโโโโโโโโโโโโฏ โฐโโโโโโโโโโโโโโโโโโโฏ โ
โ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โญโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโฎ
โ STATUS: โ ACTIVE โ CONNS: 1 active โ TRAFFIC: โฒ 14.2 KB โผ 84.1 KB โ UPTIME: 08m 42s โ
โฐโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโฏ
Inspect the live data stream flowing through your SSH tunnels in real time.
- Visual 2D Topology Diagram (v / g):
- Clear box-and-arrow diagrams detailing listener, bastion gateway, and target endpoints.
- Color-coded statuses: Neon Green (
โ ACTIVE), Gray (โ INACTIVE), Red (โ ERROR). - Live metrics dashboard: active connection counts, directional byte counters, and uptime.
- Live Traffic Inspector (x):
- Bidirectional stream tagging (
LOCAL -> REMOTEvsREMOTE -> LOCAL) with microsecond timestamps. - Hex + ASCII Dump Mode: Wireshark-style 16-byte hexadecimal offsets alongside ASCII text columns.
- ASCII Text Stream Mode (m): Clean formatted text view for HTTP, Redis, SMTP, or plain socket streams.
- Stream Controls: Pause / Freeze live feed (f / Space), scroll history (โ/โ/PgUp/PgDn), and clear buffer (c).
- Bidirectional stream tagging (
- 1-Click Clipboard Export (y):
- Instantly copy all raw captured traffic data (Hex Dump or ASCII) to the system clipboard.
LIVE TRAFFIC INSPECTOR: Web Service Tunnel (HEX + ASCII DUMP) [โ COPIED TO CLIPBOARD]
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โโโบ [12:00:00.100] LOCAL -> REMOTE (16 bytes) โ
โ 00000000 47 45 54 20 2f 20 48 54 54 50 2f 31 2e 31 0d 0a |GET / HTTP/1.1..| โ
โ โ
โ โโโ [12:00:00.115] REMOTE -> LOCAL (17 bytes) โ
โ 00000000 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d |HTTP/1.1 200 OK.| โ
โ 00000010 0a |.| โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Fast SSH access without launching the full TUI.
sxt -lโ minimal interactive connection selectorsxt -c <connection-id>โ instant connection by ID- Start typing immediately to filter connections
- Arrow keys exit filter and navigate
- Fully interactive terminal with resize support
- VT100 / ANSI escape sequence compliant
- Full xterm-256color support
- 10,000-line scrollback buffer
- Mouse and keyboard scrolling
- Text selection and clipboard copy
- Graceful window resize handling
- Dual-pane Local โ Remote interface
- Upload, download, rename, delete
- Create files and directories
- Recursive search (
/) - Uses the active authenticated SSH session
- Local storage via system keyring
- macOS Keychain
- Linux Secret Service (libsecret / GNOME Keyring / KWallet)
- Windows Credential Manager
- Bitwarden integration via Bitwarden CLI (
bw) - Passwords and private key passphrases are never stored in plaintext
- SSH Agent (recommended for encrypted keys)
- Encrypted private keys supported via
ssh-agent - Password authentication via system keyring
- Compatible with standard OpenSSH config
- Go 1.24+ (only if building from source)
- System Keyring (for local password storage)
- SSH Agent (recommended for encrypted SSH keys)
- Bitwarden CLI (
bw) โ for Bitwarden vault support - tmux โ open SSH sessions in new tmux windows
โ ๏ธ SSH-X-Term 2.0+ has no external SSH dependencies. You do not needssh,passh,plink, or PuTTY.
npm install -g ssh-x-term
sxtbrew tap eugeniofciuvasile/tap
brew install ssh-x-term
sxtgit clone https://github.com/eugeniofciuvasile/ssh-x-term.git
cd ssh-x-term
go build -o sxt ./cmd/sxtOr:
go install github.com/eugeniofciuvasile/ssh-x-term/cmd/sxt@latestDownload prebuilt binaries for Linux, macOS, and Windows from the GitHub Releases page.
| Key | Action |
|---|---|
| Enter | Connect to selected SSH host |
| t | Open Tunnel & Port Forwarding Manager |
| s | Open SCP / SFTP File Manager |
| a / e / d | Add / Edit / Delete host connection |
| o | Toggle tmux session window mode |
| / | Filter / Search hosts |
| q | Quit application |
| Key | Action |
|---|---|
| Space / Enter | Activate / Deactivate selected tunnel |
| v / g | Open Visual Topology Graph & Inspector |
| a / e / d | Add / Edit / Delete tunnel configuration |
| Esc / q | Return to host list |
| Key | Action |
|---|---|
| Tab / Shift+Tab | Navigate fields |
| Ctrl+T | Cycle tunnel type (Local -L / Remote -R / Dynamic -D) |
| Ctrl+A | Toggle Auto-start on Connect |
| Enter | Save tunnel |
| Esc | Cancel |
| Key | Action |
|---|---|
| Space / Enter | Activate / Deactivate tunnel |
| x | Toggle Live Traffic Inspector / Topology View |
| y / Ctrl+Y | Copy all captured packets to clipboard |
| m | Toggle Hex + ASCII Dump / ASCII Text Stream mode |
| f | Pause / Resume live packet stream |
| c | Clear packet capture buffer |
| โ / โ | Switch between tunnels |
| โ / โ / PgUp / PgDn | Scroll packet stream |
| Esc / q | Back to Tunnel Manager |
| Storage | Description |
|---|---|
| Local | Standard SSH config at ~/.ssh/config, passwords in system keyring |
| Bitwarden | Secrets stored securely in Bitwarden vault via bw CLI |
SSH-X-Term stores metadata as clean structured comments in your standard SSH config and remains 100% compatible with OpenSSH tools.
eval $(ssh-agent)
ssh-add ~/.ssh/id_ed25519Once added, SSH-X-Term can use encrypted keys seamlessly without prompting for passphrases.
SSH-X-Term is released under the MIT License.
- Credentials are never logged or stored in plaintext.
- All secrets are delegated to native OS Keyring APIs or Bitwarden.
- Tunnels run in secure goroutines with memory isolation and bounded ring buffers for packet inspection.
- Bubble Tea & Lip Gloss โ Terminal UI framework & styling
- go-keyring โ Secure OS credential storage
- Bitwarden CLI โ Vault integration
- OpenSSH โ Protocol specifications and compatibility
