Repository navigation
SSH2FA v1.1.0
See and change what SSH2FA has stored
Until now there was no way to look at — let alone change — the credentials SSH2FA
keeps for a host. A server-side password change or a 2FA re-enrolment meant
deleting the host and adding it again.
Every host now has a Password & setup view. Open it by double-clicking a host
row, from its ⋯ menu, or with ⌘K.
- Connection — see where the alias actually points (server address, username,
port). Editable for hosts SSH2FA set up; read-only for aliases you defined in
your own~/.ssh/config, which it still never rewrites. - SSH password — see whether one is stored and reveal it behind Touch ID (or
your Mac password), or replace it after changing it on the server. - Two-factor secret — which account it belongs to, its live code, the setup
URL on request, and a way to replace it by paste or QR. - Test login — verifies the stored credentials with a one-shot login that
can't reuse an existing connection. The secrets stay in the background helper;
nothing is pulled into the app to check them.
Revealing a secret always asks for Touch ID / your Mac password, even when the
app lock is off, and every reveal is written to the helper's log.
Fixed: the app could stop reconnecting for good
If the background helper was unreachable for more than about four minutes — a
helper update, a long sleep — the app gave up and never tried again. It sat on
"Reconnecting to the background helper…" with a healthy helper on the other end,
until you quit and reopened it. Recovery is now unbounded: it keeps retrying, and
reconnects on its own within seconds of the helper coming back.
Also: Keychain errors now say what to do about them ("choose Always Allow")
instead of showing raw internal text.
Install
brew install --cask gasvn/tap/ssh2fa \
&& xattr -dr com.apple.quarantine /Applications/SSH2FA.app \
&& open /Applications/SSH2FA.appAlready installed? brew reinstall --cask ssh2fa, or download the DMG below.
The app is signed but not notarized, so macOS quarantines it on first download —
the xattr line above clears that, or use System Settings → Privacy & Security →
"Open Anyway".
Note on updating: the background helper is a new binary, so macOS asks
permission the first time it reads each saved credential. Choose Always Allow
and it won't ask again.
Universal (Apple Silicon + Intel). Requires macOS 26.