SSH Client
HostAtlas SSH is a modern, cross-platform SSH client built with Tauri 2 + React 19 + Rust. It syncs its server list from your HostAtlas account with a single OAuth login, and works standalone for any SSH connection you’d want to keep outside HostAtlas.
Features
Section titled “Features”- Multi-session tabs — many SSH connections in parallel with named tabs
- SFTP file browser — browse, upload, download files on remote servers
- Port forwarding — create SSH tunnels with a visual panel (local, remote, dynamic)
- Command snippets — save and organise frequently used commands
- HostAtlas sync — one-click OAuth login syncs your server list automatically
- Deep links — open SSH sessions via
hostatlas://ssh/user@hostURLs - Terminal search — find text in terminal output (
Cmd+F/Ctrl+F) - Keyboard shortcuts —
Cmd+T(connect),Cmd+W(close),Cmd+1-9(switch tabs)
Install
Section titled “Install”Downloads from install.hostatlas.app/ssh-client/latest/:
| Platform | File |
|---|---|
| macOS (Apple Silicon) | .dmg |
| macOS (Intel) | .dmg |
| Linux (x86_64) | .deb |
| Windows (x86_64) | .msi |
The top-level https://install.hostatlas.app/ssh-client/version.json carries the full list under binaries[] (filename, size, sha256, url) and both folders publish a files.json sidecar for checksum verification.
Every release is also published as a GitHub Release.
Authentication (HostAtlas sync)
Section titled “Authentication (HostAtlas sync)”The SSH Client uses browser-based OAuth:
- Click Login with HostAtlas in Settings
- Your browser opens the HostAtlas authorization page
- Click Authorize to grant server-list access
- The app receives its token via the
hostatlas://auth/callbackdeep link - The server list syncs automatically
The generated API key has the ssh:read scope only — it can view your server list but cannot modify anything. Revoke anytime from Settings → API Keys in the HostAtlas dashboard.
Deep-link protocol
Section titled “Deep-link protocol”Open SSH sessions directly from your browser or other apps:
hostatlas://ssh/deploy@192.168.1.10?hostname=web-serverhostatlas://ssh/root@my-server.comThe desktop CLI’s hostatlas ssh [server-uuid] command generates one of these deep links for the given server.
Keyboard shortcuts
Section titled “Keyboard shortcuts”| Shortcut | Action |
|---|---|
Cmd+T | Quick Connect |
Cmd+W | Close current tab |
Cmd+1-9 | Switch to tab N |
Cmd+F | Search in terminal |
Ctrl+Scroll | Adjust font size |
(On Windows and Linux, Ctrl replaces Cmd.)
Tech stack
Section titled “Tech stack”| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript, Tailwind CSS 4, xterm.js 6 |
| Backend | Rust, Tauri 2 |
| SSH | russh 0.46 (pure-Rust SSH implementation — no system ssh binary dependency) |
| SFTP | russh-sftp 2.0 |
| Terminal | portable-pty 0.8 |
| Auth | OAuth via deep link (hostatlas://auth/callback) |
Security
Section titled “Security”- SSH connections are direct — PTY → SSH, no proxy, no cloud round-trip
- Auth tokens stored locally only — never synced anywhere
- SFTP uses a pure-Rust implementation (
russh) — no external SSH tool dependency - Deep-link payloads validated and sanitised against injection attacks
- Host-key verification uses the
accept-newpolicy — new hosts are added on first connect, changed keys prompt for review
Related
Section titled “Related”- CLI —
hostatlas ssh [server-uuid]produces the deep link that opens this app - MCP Tailnet Manager — sibling app using the same stack, but for AI-agent SSH access via MCP, not human terminals