ssh-tool
Cross-platform SSH connection manager - terminal, port forwards, vault, all in one window.
Built for daily use
Tree with folder inheritance
Manage 300+ connections in nested folders. Credentials, jump hosts, and SSH options cascade down. Drag & drop, multi-select, Ctrl+K quick palette.
Dynamic inventory
Auto-populated folders that pull live from Proxmox VE, Hetzner Cloud, DigitalOcean, Linode, Vultr, Scaleway, AWS EC2 and Ansible files. Tag/label filters, hide-stopped, on-demand refresh, pin-one-host, convert-folder-to-static.
Encrypted vault
Passwords, keys and API tokens sealed with Argon2id + XChaCha20-Poly1305. Machine-bound auto-unlock (DPAPI on Windows, machine-id on Linux), idle auto-lock, strength meter.
Tabs, splits, broadcast
Multi-tab terminal with horizontal/vertical splits, paste guard, themes, search. Broadcast input to multiple named groups in parallel - one session can broadcast to several groups at once.
Detach and redock windows
Tear off panes to separate windows, then snap them back. Tray icon, minimise-to-tray, close-to-tray.
Port forwards + isolated browser
Local, remote and dynamic SOCKS5 forwards. One click launches an isolated browser pinned to the SOCKS port. "Give internet" reverse-proxies an offline server's HTTP traffic out through your machine - no squid needed.
Debug with an LLM (MCP)
Share a live SSH session with an external LLM client (Claude Code, LM Studio, any MCP server) so it can read the terminal, pull logs, search and open your saved connections, and propose commands. Off by default and local-only: no session is reachable until you share it, read-only commands auto-run, and anything that changes state needs your approval. Terminal output is treated as untrusted data, and every action is recorded in an activity log.
Userspace VPN profiles
Route a connection's first SSH hop through WireGuard, NetBird or Tailscale without a TUN adapter, admin rights, or system routes. Assign a profile to a folder and the whole tree rides the tunnel. Auto-mode dials direct when you're on-site, tunnel when remote. NetBird and Tailscale ship as optional plugins.
opkssh auth, native
OpenPubkey SSH certificates issued via OIDC, no external binary or filesystem dance. Cert and key live in the vault.
Live tcpdump + network insights
Streamed packet capture inline with per-protocol decode, sudo via saved credential when needed. A live analyzer flags routing and wrong-interface problems (0.0.0.0-bound replies from the wrong source IP, half-open TCP, ICMP unreachable, ARP off-subnet) and a one-click route check confirms the kernel's actual egress. Captures run in the background and survive detaching the tab to its own window.
HTTP / SOAP probe
One-off REST or SOAP requests with auto-detected route via an active SOCKS forward. Endpoints behind VPN become reachable in-app.
Workspaces & snippets
Named bundles of tabs restore your usual six terminals in one click - or let the app offer to reopen the last session's tabs at startup. Snippet palette fires reusable commands into the active session.
Batch exec
Run a one-off command across a multi-selection of hosts. Aggregate view with stdout, stderr and exit per host.
VNC console, in-app
Open a Proxmox VM, LXC, or node console - or any VNC host - as a tab, rendered by noVNC inside the app with no external client, no X server, no install. Proxmox guests reuse your inventory API token (vncproxy + vncwebsocket, self-signed clusters supported); node shells use a realm login; generic hosts dial the RFB port directly or tunnel it through the connection's SSH session. Fit scaling, Ctrl+Alt+Del; the optional VNC password lives in the vault.
Encrypted sync, your server
Sync the whole profile - connections, credentials, vault, icons, settings - between machines over any WebDAV server or SSH/SFTP server you control. Sealed with argon2id + XChaCha20-Poly1305 before upload; the server only ever sees ciphertext. SFTP auth reuses a vault credential or a key/password you type in, so a fresh machine can bootstrap. Auto-sync pushes on change; incoming changes apply live with no restart and, optionally, in the background while you work.
Session recording + player
Record a session's terminal output to standard asciicast v2 .cast files - output only, keystrokes never touch disk. Built-in player with seek, speed and idle-skip; files also play in asciinema or any web cast player.
Verified self-update
In-app updates stream with a progress bar and are sha256-checked against the release manifest before the binary is swapped. Leftovers from the previous version are cleaned up automatically.
Import from your old tool
Bring 600+ Devolutions RDM entries in one pass, your ~/.ssh/config with ProxyJump chains intact, PuTTY / KiTTY registry exports, or MobaXterm session files. All imports are additive and safe to re-run.
Android app
The same Go core, vault and SSH stack on an Android phone (arm64, DeX-ready). Biometric vault unlock backed by the device Keystore, a single-pane touch layout with system-back navigation, an on-screen key bar (Esc/Tab/Ctrl/arrows/^C^D...), pinch-to-zoom font size, and a foreground service that keeps SSH sessions alive when backgrounded. opkssh login opens the system browser; ssh-tool:// deep links open the app. Sideload the APK - no store account needed.
Install
Windows
- Download ssh-tool-windows-amd64.exe (29.6 MB)
- Chrome and Firefox will warn — the binary is not code-signed yet. Why.
- Run it. SHA256 is published next to the download for verification.
sha256 c6f51aa9333a7e2189c5ca7e22967c8e97d5c094b6bc1d3c09afc3d81a09c58f
Linux
- Download ssh-tool-linux-amd64 (28.6 MB)
- Mark it executable:
chmod +x ssh-tool - Run it. SHA256 is published next to the download for verification.
sha256 010d3afcd9817a249954662f95eee1a44fdc2e6dfb504b7fc153b99ae8f180ce
macOS coming soon
Universal build planned once Apple Developer ID is sorted.