sshkeys

Documentation

Install the CLI

Single static binary for Linux, macOS, and Windows. Download links land here with the first tagged release; until then, build from source with go build ./cmd/sshkeys.

Quick start

sshkeys login --server https://sshkeys.io   # device-code sign-in
sshkeys init                                # create + register your identity key
sshkeys publish ~/.ssh/id_ed25519.pub --label work-laptop
sshkeys verify you                          # anyone can check
sshkeys sync you server1                    # install verified keys over ssh
sshkeys revoke work-laptop --reason lost    # permanent, logged
sshkeys refresh --if-needed                 # cron this (see CLI guide)

Guides

The canonical documentation lives with the source code — one source of truth, versioned with the features it describes:

CLI guidekeeping keysets fresh: cron, systemd timers, Windows Task Scheduler, CI-as-signer
Server integration (AKC)the AuthorizedKeysCommand helper: pinning, cache, fail policies, systemd refresh timer
Self-hostingone binary + SQLite; Docker, environment reference, backups, log witnessing
HTTP APIpublic endpoints, device flow, publishing, webhooks
Specificationskeyset format, transparency log, threat model

Repository links will appear here when the source is published.

The 60-second server setup

# install helper + dedicated user
install -m 0755 sshkeys-akc /usr/local/bin/
useradd --system --shell /usr/sbin/nologin sshkeys

# pin the identity keys you trust (verify fingerprints out-of-band!)
echo "paul ssh-ed25519 AAAA…" > /etc/sshkeys/pinned

# /etc/sshkeys/config.toml : server, mapping, cache, fail policy
# then:
sshkeys-akc -print-sshd-config >> /etc/ssh/sshd_config
sshd -t && systemctl reload sshd