A developer SSH workflow built for macOS
Servers grouped by project, a color that marks production, database tunnels that come with the profile, and an assistant that can work in your sessions.
By Lucas Russo, developer of SSHive · Updated
A developer's SSH setup drifts over time: hosts in shell history, the wrong key tried on the wrong server,
ssh user@host copied from a wiki page, and iTerm2, Cyberduck and TablePlus each holding a piece of the picture. SSHive puts the servers in one place and hangs the rest off each profile: the tunnels a project needs, the command that runs when a session opens, the snippets you repeat.
If you already live in iTerm2, the iTerm2 comparison shows where the two overlap and where they do not.A folder per project, a color per environment
Create a folder per project in the sidebar, with prod, staging and dev inside; subfolders work too. Give prod a red dot, staging orange and dev green, and the sidebar tells you at a glance which server you are about to open. A startup command per profile, such as
cd /var/www/app && git log --oneline -5, puts you where you work as soon as the session opens. Snippets can fill in {host} or {user} on their own, or ask for a value you type, as in git checkout {{branch}}.Database tunnels tied to the profile
On the dev profile, add local tunnels for the remote services: 5432 to
localhost:5432 for Postgres, 6379 to localhost:6379 for Redis. Once connected, TablePlus or Postico talk to localhost:5432 and reach the remote database; when you disconnect, the tunnels close with the session. The free version opens one tunnel per profile, so Postgres and Redis together is a Pro setup.Claude Code and Cursor in your sessions
On the Mac, Pro includes an MCP server that lets an AI client work in your SSHive sessions:
ssh_execute to run a command, sftp_read_file to read a config. Turn it on in Settings > MCP and copy the setup it shows into Claude Code or Cursor; the App Store version does not write your client's configuration for you. Then ask "tail the last 200 lines of app.log on staging and find the 500s", and the assistant does it in the staging session.
The Scope tab decides which servers it can reach: remove a production folder, and servers you file there later stay out too. What the assistant reads is sent by its client to the model provider.What is free here, and what needs Pro
SSH, SFTP with the remote file editor, snippets (3 of your own) and one tunnel per profile are free, within 5 profiles: one project with a few environments. SSHive Pro removes the limits and adds the MCP server for Claude Code and Cursor, broadcast and remote tunnels, for $12.99 once.
Frequently asked questions
Can I keep using my ~/.ssh/config?+
Yes. The Import SSH Config button in the sidebar reads the file and turns each Host block into a profile, with its HostName, User, Port, IdentityFile and forwarded ports. SSHive never writes to the file, and the profiles are copies:
ssh in the Terminal keeps working from the same file, and changing one does not change the other.Does SSHive work with VS Code Remote SSH?+
Side by side, not together: VS Code Remote SSH uses its own SSH client. Edit code in VS Code, and do the terminal, file and admin work in SSHive. Many developers keep exactly that split.
Related SSHive features
Try SSHive Free for macOS
Get the all-in-one SSH, SFTP, RDP and VNC client for Mac. Free download, no signup required.