Saved hosts and SSH config
Keep the machines you use in a list, and reuse the entries already in your ~/.ssh/config. Saved hosts hold connection details only — never a password or a key passphrase.
Prerequisites
ShellCanvas installed, and the details of at least one machine you can reach over SSH. Nothing is saved on the server, and your ~/.ssh/config is only ever read.
Steps
Save a host
- Choose Add host, or Connections in the dock.
- Fill in Name (optional label), Host, Port, Username, and either Private key path with an optional Key passphrase, or a Password.
- Choose Save host. The dialog confirms with Host saved on this device.
The button reads Update saved host when you are editing an entry that already exists. Saving is deliberate: connecting alone never adds a host to the list.
Pick a host again
The Your hosts control at the top of the dialog lists everything on this device. It shows the name and user@host:port, and has a search box — Search name, host or username… — that matches across all of those. Typing saved narrows it to your own entries; ssh config narrows it to imported ones.
Entries are grouped: Saved on this device first, then SSH config, each with a count, and the footer shows how many matched, such as 3 of 12 hosts. Use the arrow keys to move, Enter to choose, Ctrl+Home or Ctrl+End to jump to the first or last entry, and Esc to close the list.
Edit or remove one
Select the entry, change any field and choose Update saved host. To delete it, choose Remove saved host and confirm at Remove this saved connection? with Remove or Keep. ShellCanvas confirms with Saved host removed. Remote host and SSH config are unchanged.
Use entries from ~/.ssh/config
Imported entries appear automatically under SSH config; there is nothing to enable. ShellCanvas reads:
| Keyword | Used as |
|---|---|
Host | The name of the entry, one per alias listed |
HostName | The address |
User | The user name |
Port | The port, falling back to 22 if it cannot be read |
IdentityFile | The private key path; the first one in the block wins, and ~ is expanded |
Everything else is ignored, quietly and deliberately — this is an importer, not an OpenSSH configuration engine:
- Host patterns containing
*,?or!are skipped, so aHost *block contributes nothing. Matchblocks end the current block and contribute nothing.Includeis not expanded, andProxyCommandis never executed.
To change an imported entry, select it, adjust the fields and choose Save host. That creates your own copy under Saved on this device; the original stays in ~/.ssh/config, untouched.
Expected result
Your machines are one search away in the connect dialog, and connecting to a saved host needs only the credential you did not store — the passphrase or password.
Saved hosts live in hosts.json in ShellCanvas's application data directory on your computer, written atomically with a lock file so two windows cannot corrupt it. A file it cannot understand is reported and left alone rather than overwritten. Trusted host keys live beside it in ShellCanvas's own known_hosts; your OpenSSH file is never modified.
Limitations
- Secrets are never stored. The saved format cannot represent a password or passphrase at all. Expect to type it each time, or use a key that your agent-free workflow can open.
- Up to 500 saved hosts, with the file capped at 2 MiB and each field at 4096 characters.
- Imported entries cannot be edited or removed from ShellCanvas. Change
~/.ssh/config, or save your own copy. - No import or export of the saved list, and no folders or tags yet.
- No SSH agent, hardware key, host certificate or
ProxyJump. A host that needs one of those cannot be reached with this release.
Related guides
- Your first connection — the dialog, step by step.
- Workspaces and profiles — working with several machines at once.
- Connection and host-key problems — when a saved host will not connect.
- Trust and isolation model — where host keys and trust are kept.