Mobile SSH options
Mobile SSH vs Termux vs Termius
Mobile SSH combines SSH, SFTP, VNC and multiplexer managers on Android and iOS, with built-in VPN clients and security-key authentication on Android. Termux is an Android Linux environment, and Termius is a cross-platform SSH client with account-based productivity features.
| Need | Mobile SSH | Termux | Termius |
|---|---|---|---|
| Primary purpose | SSH, SFTP, VNC, jump hosts and multiplexer managers on both platforms; VPN clients and FIDO2 security keys on Android. | Android terminal emulator and Linux environment with APT packages. | Modern SSH client across Android, iOS, desktop, and web-oriented team workflows. |
| Setup style | Save a server and its credentials, optionally select jump hosts, then connect with server identity checks before authentication. | Install packages such as OpenSSH, configure shell tools, and work from a Linux-like command line. | Create or sync hosts, keys, snippets, and vault items through the Termius app/account model. |
| Mobile terminal controls | Extra keys, grid sessions, fullscreen panes, pinch zoom, copy/share, mouse support and external keyboards. iOS Dictation & suggestions can be turned off for direct terminal input. | Powerful terminal environment; terminal behavior depends on installed tools and configuration. | Mobile keyboard add-on, gestures, tabs, autocomplete, snippets, and polished terminal UX. |
| File transfer | Dual-pane SFTP, tmux-aware folder history, remote file sharing and incoming shared files on both platforms; iOS can remember an external Files folder. | Use command-line tools such as scp, sftp, rsync, or installed file utilities. | Built-in SFTP and host/key management features. |
| Multi-session work | Up to eight concurrent SSH sessions in a grid. | Use terminal multiplexers such as tmux inside Termux or remote shells. | Tabs and split-view style workflows, depending on platform and plan. |
| Data model | On-device profiles, credentials, host trust and settings; optional portable backups of inventory and settings. Android backups also include VPN profiles; SSH trust stays on each device. | Local Linux-like filesystem and packages inside the Termux app environment. | Encrypted vaults for hosts, keys, snippets, forwarding rules, known hosts, and team sharing. |
| Best fit | You want a simple app on Android or iOS for connecting to servers, transferring files, and keeping sessions alive. | You want a full command-line environment on Android and are comfortable installing/configuring packages. | You want cross-device sync, polished productivity features, vaults, and collaboration. |
Feature by feature
| Need | Mobile SSH | Termux | Termius |
|---|---|---|---|
| Connection | |||
| Runs on Android and iOS | ✓ | Android only | ✓ |
| Saved server profiles | ✓ | via ssh config | ✓ |
| Search saved servers | ✓ | ✗ | ✓ |
| Server folders / groups | ✓ | ✗ | ✓ |
| Search-first Add Session picker | Android | ✗ | ✗ |
| Multiple addresses per server (LAN/VPN roaming) | ✓ | ✗ | ✗ |
| Reusable credential records | ✓ | ✗ | ✓ |
| Home screen lists what to resume | ✓ | ✗ | partial |
| Offline tmux session list (no connection needed) | ✓ | ✗ | ✗ |
| Named servers shown instead of the address | ✓ | ✗ | ✓ |
| Login log | ✓ | ✗ | ✗ |
| Teleport proxy transport (experimental) | Android | ✗ | ✗ |
| IPv6 hosts and forward destinations | ✓ | ✓ | partial |
| Terminal | |||
| SSH terminal | ✓ | via OpenSSH | ✓ |
| xterm-256color emulation | ✓ | ✓ | ✓ |
| Configurable scrollback (1k–50k lines) | ✓ | configurable | partial |
| In-terminal search (scrollback) | ✓ | ✗ | ✗ |
| Extra key row (ESC/TAB/CTRL/…) | ✓ | ✓ | ✓ |
| Pinch-to-zoom text sizing | ✓ | ✓ | ✓ |
| Double-tap pane to fullscreen | ✓ | ✗ | ✗ |
| Tappable URLs in terminal output | ✓ | partial | ✓ |
| Text selection: copy / share / select all | ✓ | ✓ | ✓ |
| Hardware / Bluetooth keyboard support | ✓ | ✓ | ✓ |
| Shell integration (OSC 133) | ✓ | ✗ | ✗ |
| Inline images (Kitty graphics) | ✓ | ✗ | ✗ |
| App-drawn mosaic glyphs (chafa, ANSI art) | ✓ | font-dependent | ✗ |
| Tap acts as a click in mouse-mode TUIs | ✓ | ✓ | ✗ |
| Nerd Font / powerline glyph rendering | ✓ | configurable | partial |
| Sessions | |||
| Multiple concurrent SSH sessions | up to 8 | up to 8 | ✓ |
| Grid pane layout | ✓ | via tmux | tabs |
| tmux-aware scrolling | ✓ | ✓ | ✗ |
| tmux reattach hints on reconnect | ✓ | ✗ | ✗ |
| Agent alerts (Claude Code / Codex) | ✓ | ✗ | ✗ |
| Ongoing notification with session list | Android | partial | ✗ |
| Foreground service & wake lock | Android | ✓ | partial |
| Auto-reconnect with backoff | ✓ | via autossh | ✓ |
| Eternal Terminal (resilient sessions) | ✓ | via CLI | ✗ |
| Auto-install etserver over SSH | ✓ | ✗ | ✗ |
| tmux session manager | ✓ | via CLI | ✗ |
| herdr and Zellij session managers | ✓ | via CLI | ✗ |
| One-tap replies to a blocked agent | ✓ | ✗ | ✗ |
| Files | |||
| Built-in SFTP file transfer UI | ✓ | ✗ | ✓ |
| Dual-pane local + remote browser | ✓ | ✗ | ✓ |
| Upload / download queue | ✓ | ✗ | ✓ |
| Remote rename / delete / create | ✓ | ✗ | ✓ |
| Remote file permissions view | ✓ | ✗ | ✗ |
| Sort by name or date per host | ✓ | ✗ | partial |
| Tunnels | |||
| Local port forwarding | ✓ | via CLI | ✓ |
| Saved tunnels with server profile | ✓ | via ssh config | ✓ |
| Runtime add / remove tunnels | ✗ | ✗ | ✓ |
| Keys | |||
| Password authentication | ✓ | ✓ | ✓ |
| Private key authentication | ✓ | ✓ | ✓ |
| On-device key generation | ✓ | via ssh-keygen | ✓ |
| Share / save generated public key | ✓ | ✓ | ✓ |
| Backup | |||
| Export / import server backup | ✓ | via termux-backup | Pro cloud vault |
| Encrypted local backup file | ✓ | ✗ | ✗ |
| No account required | ✓ | ✓ | partial |
| Privacy & cost | |||
| No Pro paywall | ✓ | ✓ | partial |
| No ads | ✓ | ✓ | ✓ |
| Analytics opt-out | ✓ | no analytics | ✗ |
| Local-only data (no cloud sync) | ✓ | ✓ | partial |
| Secure screen (block screen capture) | ✓ | ✗ | ✗ |
| Plugins | |||
| Plugin support | ✓ | via packages | ✗ |
| Install-on-demand plugin catalog | ✓ | ✗ | ✗ |
Mobile SSH vs AI coding-agent apps
A fast-growing category of apps exists just to drive coding agents — Claude Code, Codex, and friends — from your phone. Some are third-party SSH or relay apps (Onepilot, Happy, Omnara, Moshi, Orca, T3 Code, Paseo); OpenAI and Anthropic now ship this natively too, with Codex inside the ChatGPT app and Claude Code inside the Claude app, both running in the vendor's own cloud. Mobile SSH overlaps with all of them — you can run those agents over SSH and get alerted when they need you — but it comes at the job from the other side: it is a general, direct SSH client first, and an agent companion second.
| Need | Mobile SSH | Onepilot | Happy | Omnara | Moshi | Orca | T3 Code | Paseo | ChatGPT | Claude |
|---|---|---|---|---|---|---|---|---|---|---|
| Runs coding agents from your phone | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Works with any coding agent (not one vendor) | ✓ | ✓ | Claude Code | ✓ | ✓ | ✓ | Supported providers | Supported providers + ACP | Codex only | Claude Code only |
| Runs on your own machine (not a vendor cloud) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | partial |
| Direct SSH — no cloud relay | ✓ | ✓ | ✗ | ✗ | ✓ | ✗ | Desktop only | Desktop/CLI only | ✗ | ✗ |
| General SSH terminal (run any command) | ✓ | ✓ | ✗ | partial | ✓ | Paired desktop terminal | Paired host terminal | Terminal via daemon | ✗ | ✗ |
| SFTP file transfer | ✓ | partial | ✗ | ✗ | Conflicting docs | Desktop only | Not documented | Not documented | ✗ | ✗ |
| Local port forwarding | ✓ | ✓ | ✗ | ✗ | Dev previews (Pro) | Desktop only | Not documented | HTTP service previews | ✗ | ✗ |
| tmux session manager | ✓ | partial | ✗ | ✗ | Pro | Not documented | Not documented | Not documented | ✗ | ✗ |
| Works with an agent you installed yourself | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ |
| Agent alerts (when a connected agent needs input) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | T3 Connect account | ✓ | ✓ | ✓ |
| One-tap approve/deny of agent prompts | ✓ | ✓ | ✓ | ✓ | Pro after trial | Supported agents | ✓ | Supported agents | ✓ | ✓ |
| Zero server or SSH setup | ✗ | ✗ | partial | partial | ✗ | Desktop pairing | Server + pairing | Daemon + pairing | ✓ | ✓ |
| Android and iOS | ✓ | iOS only | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| No account required | ✓ | ✓ | ✓ | ✗ | ✓ | LAN/Tailscale; Relay needs an account | LAN/Tailscale; T3 Connect needs an account | ✓ | ✗ | ✗ |
| No Pro paywall (all features free) | ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ | ✓ | free tier | ✗ |
| Open source | Apache 2.0 | ✗ | MIT | Apache | ✗ | MIT | MIT | Apache 2.0 | ✗ | ✗ |
Checked 2026-09-19. Moshi's direct SSH terminal is separate from its optional backend for agent events and approvals. Its Android listing advertises SFTP, but its detailed docs describe SCP uploads and dev-server previews; those cells are qualified accordingly. Orca's mobile app pairs with Orca on a computer: LAN/Tailscale can work without an Orca account, while Relay requires one. Desktop-only and undocumented features are marked in the table. T3 Code and Paseo checked 2026-10-05. Both run agents and terminals through a companion server; mobile connections can use a private network or their relay services. SSH connections are desktop-only (also CLI for Paseo). T3 Code mobile push alerts require a T3 Connect account; direct pairing does not. Both clients are free; agent-provider charges still apply.
The native ChatGPT and Claude apps are the smoothest way to run one vendor's agent with zero setup — no server, just an account — and they add a polished one-tap approve/deny screen. The catch: they run only their own model in their own cloud, with no general terminal, no SFTP or tunnels, and no bring-your-own machine, and they are paid or account-gated. Onepilot, Happy, and Omnara keep the agent on hardware you control (Onepilot via direct SSH; Happy and Omnara via a cloud relay, and Omnara needs an account). Mobile SSH connects straight to your own server with no account or vendor relay, runs any agent alongside a full terminal, SFTP, and port forwarding, and every feature is free. It now answers agent prompts the same way they do — an Agents list showing every agent across every connection, with a button per choice — the difference being that the agent runs on your machine and the reply travels over your own SSH connection. The trade-off is the one it has always been: you bring the server, and the agent's hook has to be installed on it once.