Container runtime and CLI from Docker's official apt repository, including Buildx and Compose plugins.
Key takeaways
- sshwiz is a desktop app for macOS and Windows that sets up a Linux server over a normal SSH connection. Nothing is installed on the server itself.
- Install recipes are a shelf, not a script. Each one is three steps — check, install, verify — with a command list per distro family, so it is safe to run twice.
- Every command is shown before it runs, and all output streams back into a live terminal. Consequently, there are no hidden steps.
- Credentials never leave your machine. Profiles sit in an AES-256-GCM encrypted file whose key lives in the OS keychain.
- Free to use. One server at a time, the whole Shelf, Dashboard, Services and the terminal cost nothing. Pro is an optional yearly subscription for the day-two views below.
What you get
Everything between “fresh VPS” and “it's running”
The boring, error-prone middle of server setup — done once, properly, and reusable.
Profiles that stay yours
Hosts, keys and passphrases live in a single AES-256-GCM file on your machine, with the encryption key held in the OS keychain. The profile stores the path to your key, not a copy of it — and your ~/.ssh/config imports in one click.
A shelf, not a wiki page
Docker, Nginx, Certbot, MongoDB, git, pinned Node.js and Python versions. Every recipe is the same three steps — check, install, verify — so a second run is a no-op instead of a disaster.
Read it before it runs
The install review lists every command, in order, for the exact box you're pointed at. Nothing touches the server until you press Install — then the output streams back live.
One click, whole fleet
Pick your targets and send the same shelf to every server you've saved. Staging and production stop drifting apart because they were built from the same list.
Scripts with real inputs
Turn a shell script into a form: labelled fields, selects, defaults, and secret values that arrive as shell variables instead of sitting in your history.
A marketplace of recipes
The Market tab lists everything published to the catalog. Copy an item into your local Shelf and it keeps working offline — installed content is yours, not a remote lookup.
How it works
Three steps, and none of them are “paste this into your shell”
Connect
Add a profile — key file, password or a pasted key — or import your whole ~/.ssh/config. The sudo password is optional, and when you set one it's fed over stdin, never on a command line where ps could read it.
Fill the shelf
Tick the packages and scripts you want. Pull more from the Market tab, write your own with Custom recipe, or paste one a teammate exported as JSON.
Install and watch
Read the install review, choose your targets, press Install. Every line of output — checks, installs, verifications — streams into the terminal panel as it happens.
The shelf
One card. Every package manager.
A recipe carries a separate command list per distro family, so the card you click is the same whether the box underneath is Ubuntu, Fedora or Alpine.
- check
- Is it already there? Skip the work instead of fighting it.
- install
- The real commands, from official repositories, in order — for example, Docker comes from Docker's own apt repository, not a distro snapshot.
- verify
- Prove it actually came up before you call it done.
- { } export
- Every card round-trips to JSON for sharing and review.
{
"check": ["command -v docker"],
"install": [
"sudo install -m 0755 -d /etc/apt/keyrings",
"sudo apt-get update -y",
"sudo apt-get install -y docker-ce …"
],
"verify": ["docker --version"]
}# everything published, as JSON
curl -H "Authorization: Bearer $SSHWIZ_KEY" \
https://sshwiz.com/api/marketplace
# just the Ubuntu/Debian packages
curl -H "Authorization: Bearer $SSHWIZ_KEY" \
https://sshwiz.com/api/marketplace/packages?family=ubuntu
# one script by id
curl -H "Authorization: Bearer $SSHWIZ_KEY" \
https://sshwiz.com/api/marketplace/scripts/harden-sshMarketplace & AI assist
Describe it in English. Get a recipe.
The AI assist panel's Recipe mode drafts the check / install / verify commands for whatever you ask for, per distro family, ready to review and edit before it ever runs.
- Bring your own key — Anthropic, OpenAI, or any OpenAI-compatible endpoint, including a local Ollama at
localhost:11434. - Your key stays local. It lives in your own storage, never in the catalog.
- Drafts stay drafts. Generated items save unpublished until a human reviews them.
- Scriptable catalog. The published shelf is also a read-only JSON API, keyed per client and rate limited — point your own tooling at it.
Trust
Your servers, your credentials, your machine
sshwiz is a desktop app that speaks SSH directly. There is no relay, no agent to install on the server, and nothing to sync.
Encrypted at rest
Profiles are stored in a local AES-256-GCM file. The encryption key never leaves the OS keychain.
Sudo over stdin
The sudo password is piped to sudo -S — never interpolated into a command line, never in shell history, never visible to ps.
Nothing runs unseen
Every command is listed in the install review first, and every byte of output comes back to the terminal panel. No hidden steps.
Compared
sshwiz vs. doing it by hand vs. configuration management
To be fair, each of these is the right answer somewhere. On the other hand, most servers are still set up by someone pasting commands from a gist — that is the gap sshwiz fills.
| By hand over SSH | Ansible, Puppet, Chef | sshwiz | |
|---|---|---|---|
| Time to first package on a fresh box | Minutes, if you remember the commands | Hours: playbook, inventory, runner | Under a minute: connect, tick, Install |
| See the commands before they run | Only if you wrote them down | Dry-run mode, in the tool's own DSL | Always — the install review lists every line |
| Safe to run twice | Depends on the script | Yes, by design | Yes — the check step skips what's already there |
| Anything installed on the server | No | Usually a Python runtime or an agent | No — plain SSH, nothing left behind |
| Where credentials live | Shell history and ~/.ssh | Vault files, CI secrets | An encrypted local file, key in the OS keychain |
| Best for | One-off boxes you know well | Fleets you rebuild from code | The one to twenty servers you set up by hand |
Free and Pro
The rest of the cockpit
The free tier covers one server at a time, the whole Shelf, Dashboard, Services and the terminal. Pro is an optional yearly subscription that turns the same connection into day-two operations with the views below. Upgrade inside the app; on macOS it is billed through the App Store.
Questions
The things people ask first
Answers last reviewed on . Something missing? Ask us and it goes in here.
Does sshwiz install anything on my server?
No. It opens a normal SSH session and runs the same commands you would have typed. There is no daemon, no agent and nothing left behind — uninstalling sshwiz changes nothing on the box.
Where do my SSH keys and passwords live?
On your machine only. Profiles are written to a local file encrypted with AES-256-GCM whose key sits in the OS keychain, and a key-file profile stores the path — your private key stays where it already was.
What happens if I install the same package twice?
Nothing bad. Every recipe starts with a check step; if the package is already there, the install is skipped and the verify step still confirms it's healthy.
Can I use my own recipes and share them?
Yes — write one with Custom recipe, then use the { } badge on any card to export it as JSON. Teammates paste it straight into their own Shelf, or you can publish it to the marketplace for everyone. The authoring guide covers what makes a good one.
Which AI models does the assist panel use?
Whichever you bring. It speaks to Anthropic, OpenAI, or any OpenAI-compatible endpoint — including a local Ollama instance if you would rather nothing left the building.
How is sshwiz different from Ansible or a shell script?
Ansible and scripts are the right tool for a fleet you rebuild often, but they need a playbook, an inventory and a runner before the first package lands. sshwiz is for the box you were about to set up by hand: connect, tick, install — and every recipe still exports as plain JSON you can read. See the comparison above.
In short
Your next server, set up before the coffee cools
Our recommendation: if you set up servers by hand more than once a month, sshwiz will pay for itself in the first session. The download is free and the Shelf is free, so install it, point it at a box you were going to set up by hand anyway, and see how far the shelf gets you. Pro is there when you want the day-two views.
Prefer to look around first? Read the authoring guide to see exactly what a recipe is made of.