Android · GPL-3.0 · 1.1.23

KonsoleSSH

Multi-tab SSH terminal for Android — inspired by KDE Konsole.

Independent tabs, each with its own SSH session. Jump host, SFTP upload, encrypted connection profiles, foreground-service-managed connections, Canvas-based VT100 / xterm-256color emulator. The app sends nothing home: credentials stay on the device.

KonsoleSSH app icon

What it does

There are plenty of SSH clients on the Play Store, but few that are genuinely built for work. KonsoleSSH brings desktop-terminal logic to the phone, instead of forcing the mobile-app pattern onto SSH.

Swipe between tabs like pages — no need to open menus, just slide a finger to jump to another server's shell. Each tab carries a small status LED: green when connected, yellow when connecting, red when disconnected. One glance tells you which session is in trouble.

When a connection drops — because Wi-Fi changed, the phone fell back to mobile data, or the jump host timed out — the tab doesn't close on its own: a ↺ button appears in the middle, and one tap reconnects to the same host with the same profile. The output buffer replays so you can see what happened earlier.

The on-screen key bar carries built-in key combinations — exactly the ones tmux likes: Ctrl, Alt, Shift, AltGr as sticky modifiers, a dedicated Ctrl-combo row (Ctrl+A, Ctrl+B, Ctrl+C, Ctrl+D, Ctrl+V, Ctrl+Z), an arrow row, and an F1–F12 row — everything you need after the tmux prefix or for window-switching. vi and htop render correctly via the alt-screen buffer, and the jump host works even when the target sits on a private network.

Main features

Multi-tab UI

Independent SSH sessions per tab, with ViewPager2. Connection-status dot (green / yellow / red) on each tab, long-press rename, close confirmation while connected.

Jump host support

Pick a gateway from your saved connections, with local port forwarding. When an internal address range is detected (10. / 172. / 192.), the jump section opens automatically in the new-connection dialog.

Encrypted profiles

Saved connections are stored via AndroidX Security EncryptedSharedPreferences: AES-256-GCM for values, AES-256-SIV for keys, with an Android Keystore-backed MasterKey.

SFTP file upload

The folder icon on the key bar opens a file picker, and the upload is tracked with a progress bar. After a successful upload an Undo button appears in the toast — one tap removes the remote file.

Canvas-based emulator

Custom TerminalView: 256 colours + truecolor, bold, underline, reverse, scroll region, alt-screen (vi, top, less, mc), DECCKM app-cursor mode, bracketed paste. Bundled NerdFont, 3000-line scrollback.

Background service

Sessions are owned by SshForegroundService, not by the fragment. Connections survive activity restarts, rotation, and task removal. The output buffer (256 KB / session) replays when the fragment binds.

On-screen key bar

Sticky Ctrl, Shift, Alt, AltGr modifiers. Expandable Fn row (F1–F12), arrow row, dedicated Ctrl-combo row (A/B/C/D/V/Z). Full hardware keyboard support, app-cursor mode aware.

Clipboard

Long-press text selection with a floating ActionMode (Copy / Paste). A separate in-app clipboard for Ctrl+C / Ctrl+V, so it doesn't mix with the system clipboard.

Cheat sheets

Built-in Linux and tmux quick reference. Localised content in English and Hungarian, not just translated labels. Destructive commands (dd, sed -i) marked with a warning icon.

Connection tree

Saved profiles cluster automatically by underscore prefixes: acme_prod_web, acme_prod_dbacme_prod_. A single leaf is not folded into a group.

7 languages

English (default), Hungarian, German, Spanish, French, Slovak, Romanian. Follows the system language; layout is RTL-ready.

Privacy

No data collection, no telemetry. Credentials never leave the device. The source code is open under GPL-3.0 — verifiable.

Screenshots

Click any image to enlarge — click again to close.

KonsoleSSH welcome screen — ANSI-coloured banner and intro text
Welcome screen
New SSH connection dialogue — host, port, username, auth selector
New SSH connection
Tmux cheat sheet — session, window, pane commands
Tmux cheat sheet
Linux cheat sheet — top, df, du, grep, awk, sed commands
Linux cheat sheet
Welcome screen enlarged New SSH connection dialogue enlarged Tmux cheat sheet enlarged Linux cheat sheet enlarged

Technical specs

Package
hu.billman.konsolessh
Current version
1.1.23
Minimum Android
8.0 (API 26)
Target Android
15 (API 35)
SSH library
JSch — mwiede fork, 0.2.16
Authentication
password · private key (PEM, passphrase) · keyboard-interactive
Profile storage
EncryptedSharedPreferences (AES-256, Android Keystore)
Terminal
VT100 / xterm-256color · 256 colours + truecolor
Scrollback
3000 lines · 256 KB output buffer / session
Licence
GPL-3.0-or-later

Looking for testers

The app is currently in closed testing on the Google Play Store. The installer can only be downloaded by registered testers — the Play Store link only works for enrolled email addresses.

If you would like to try it and send feedback, apply via the contact form — it is important to provide the email address you use to sign in to Google Play, because tester access is bound to that account. Within a few days you will be added to the tester list, after which the download becomes available.