Skip to main content
Step-by-step guides for SSH on macOS

Import ~/.ssh/config into SSHive

Bring your existing OpenSSH config into SSHive — every Host entry becomes a profile in seconds.

Estimated time: 2 minutes
If you've been using SSH on a Mac for years, you have a `~/.ssh/config` packed with Host entries — bastions, production servers, IoT boxes. SSHive can parse it and turn each Host into a profile, including ProxyJump, IdentityFile, Port, User, and HostName directives. The original file stays untouched, so you can keep using `ssh server-name` from any other terminal in parallel.

Step-by-step

  1. 1

    Open the import action — sidebar ⋮ menu, not Settings

    At the top of the left sidebar, click the **⋮** ("More actions") button → pick **Import SSH Config**. It is intentionally not in Settings and not in the macOS menu bar — keep that location memorized. SSHive then reads `~/.ssh/config` directly (the macOS sandbox grants read access to that path on first call).
  2. 2

    No preview — silent import + a single toast

    There is no "here are X profiles, pick which to import" dialog. The click runs the parse synchronously and shows a toast: ✅ `N profile(s) imported` (or ⚠️ `M duplicate(s) skipped` if applicable). Deduplication is done by `host:port:username` — same triple = silent skip, no merge/overwrite modal.
  3. 3

    What gets parsed (and what does not)

    Mapped one-to-one: `Host` → name, `HostName` → host, `Port` → port, `User` → username, `IdentityFile` → privateKeyPath (auth = privateKey), `ForwardAgent` → agentForward, `LocalForward` → localForwards[], `RemoteForward` → remoteForwards[], `DynamicForward` → socksPort. `ProxyJump` is parsed but the auto-link into the visual Jump Chain may need a manual confirmation — re-pick the bastion in the chain editor if the dropdown shows blank for an imported target.
  4. 4

    Read-only — SSHive never writes back to ~/.ssh/config

    Sync is **one-way**: import-only. The original file is untouched, so `ssh hostname` from Terminal still works. If you change `~/.ssh/config` later, re-run the import — duplicates will be skipped, only new entries land. Free tier note: imports are subject to the 5-profile cap. If `~/.ssh/config` has 12 hosts and you're on Free, only the first 5 are saved (`ProfileService` truncates at the limit) — upgrade to Pro before importing if you need them all.

Frequently asked questions

Does SSHive modify my ~/.ssh/config?+
No — read-only. The original file is untouched, so `ssh hostname` from Terminal still works. SSHive's profiles are an independent copy. To pick up new edits to `~/.ssh/config`, re-run the import from the sidebar ⋮ menu; duplicates are skipped, only new entries are added.
Can I export SSHive profiles back to ~/.ssh/config?+
Not at the moment — SSHive does not write back to `~/.ssh/config`. Pro users have an encrypted export of their profile bundle for backup and team sharing, but that is a SSHive-format file, not OpenSSH config.

Try SSHive Free for macOS

Get the all-in-one SSH, SFTP, RDP and VNC client for Mac. Free download, no signup required.

Download SSHive Free