A fast, secure, and beautiful terminal SSH connection manager written in Rust.
Wormhole lets you manage and connect to your SSH servers from a stunning TUI interface — organize hosts into groups, encrypt credentials with AES-256-GCM, and connect with a single keypress.
- Encrypted password vault (AES-256-GCM + Argon2id)
- Group hosts with collapsible folders
- Reorder hosts and groups with Shift+J/K
- Full-text search across host names, addresses, and groups
- 4 built-in color themes with live preview
- Optional master password — or skip it for plain-text storage
- Nerd Font icons throughout
- A Nerd Font installed and set as your terminal font (e.g. JetBrains Mono Nerd Font)
- sshpass (for password-based SSH connections)
- Rust 1.85+ (edition 2024)
Wormhole uses Nerd Font icons throughout the interface. If icons appear as boxes or question marks, install a Nerd Font:
# macOS
brew install --cask font-jetbrains-mono-nerd-font
# Linux
mkdir -p ~/.local/share/fonts && cd ~/.local/share/fonts
curl -fLO https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.zip
unzip JetBrainsMono.zip && rm JetBrainsMono.zip
fc-cache -fvThen set "JetBrainsMono Nerd Font" as your terminal font.
git clone https://github.com/wormhole-ssh/wormhole.git
cd wormhole
cargo build --release
cp target/release/wormhole /usr/local/bin/Run wormhole in your terminal.
You will be prompted to set a master password. This password encrypts your SSH credentials in a local vault (~/.wormhole/vault.enc). You can skip this to store passwords in plain text instead (~/.wormhole/passwords.json).
| Key | Action |
|---|---|
j / ↓ |
Move down |
k / ↑ |
Move up |
h / l |
Switch panel focus |
Enter |
Connect to host |
e |
Edit selected |
d |
Delete selected |
n |
New host |
g |
New group |
/ |
Search |
Tab |
Switch detail tab |
t |
Switch theme |
Shift+J/K |
Reorder items |
? |
Help |
q |
Quit |
Esc |
Cancel / back |
All data is stored in ~/.wormhole/:
| File | Description |
|---|---|
config.toml |
Hosts, groups, and settings |
vault.enc |
Encrypted password vault (if master password set) |
passwords.json |
Plain-text passwords (if master password skipped) |
When a master password is set, Wormhole uses:
- Argon2id for key derivation (m=65536, t=3, p=4)
- AES-256-GCM for authenticated encryption
- Per-installation random salt for vault encryption
- Per-password random salt for master password hashing
Note: Password-based SSH connections use
sshpass, which passes the password as a command-line argument. This is visible to other users on the system viaps aux. For better security, use key-based authentication.
Wormhole ships with 4 themes:
- Catppuccin Mocha (default)
- Tokyo Night
- Dracula
- Gruvbox Dark
Press t to open the theme selector. Use arrow keys to preview, Enter to save.




