Signing in
TuxShell can log you in four ways (Preferences → Security):
- SSH keys or your ssh agent (recommended): nothing secret is stored by TuxShell.
- 1Password: a host stores only an
op://Vault/Item/fieldreference; the password stays in your vault and is read when you connect. - KeePassXC: a host stores only a
keepassxc:ssh://user@hostreference; the password is read from the open KeePassXC when you connect. TuxShell never sees your database or its master password. - Saved passwords, for servers that only accept passwords. They are stored encrypted in your system keyring (GNOME Keyring or KWallet on Linux, the Keychain on macOS) and unlocked when you log in. Anyone using your logged-in session can use them. Allow saving passwords is on by default; turn it off in Preferences → Security.
What never happens
When ssh asks for a password, TuxShell answers through ssh’s own SSH_ASKPASS mechanism over a private socket. So a password never appears in:
- ssh’s command line,
- its environment,
- the terminal,
- TuxShell’s own files, or its exports.
Only the host’s own ssh gets its password: prompts from jump hosts, host key questions and key passphrases are shown in the terminal as usual. The order is: the 1Password or KeePassXC reference, then the saved password, then a password box. Each is tried once; if it’s refused, TuxShell asks you instead and says why.
The setup steps for 1Password and KeePassXC are in the docs: Passwords.
Where your data lives
| What | Where |
|---|---|
| Hosts | ~/.local/share/tuxshell/hosts.db |
| Clipboard history (encrypted) | ~/.local/share/tuxshell/clipboard.db |
| Clipboard key | your system keyring, as “TuxShell” |
| Preferences | ~/.config/tuxshell/settings.json |
| Terminal background images | ~/.local/share/tuxshell/backgrounds/ |
| Session recordings (only if you record) | ~/.local/share/tuxshell/recordings/ |
On macOS the files are in ~/Library/Application Support/TuxShell/ and the system keyring is the macOS Keychain. The Flatpak keeps its data in ~/.var/app/io.github.vgrigolaia.TuxShell/.
Network
No account, no cloud, no telemetry. Besides your own connections, TuxShell makes two kinds of request:
- Host status: an ICMP ping to your hosts, never an SSH connection. Turn it off in Preferences.
- Update check: at startup and on request, against GitHub releases. Turn it off in Preferences → About. TuxShell only links to a new release; it never downloads or installs anything itself.
This website
tuxshell.io sets no cookies, has no trackers and loads nothing from other servers. Its fonts and images are served from the site itself.
Reporting a security problem
Please don’t open a public issue. Email vgrigolaia@outlook.com with what you found and how to reproduce it.