This guide walks through provisioning a YubiKey with an HMAC-SHA1 challenge-response secret using the command-line interface — the secret derived passwords, derived Bitcoin wallets and YubiKey-protected blocks and standalone archives rely on. The secret is generated once and can be backed up or provisioned to as many YubiKeys as needed, so a lost or broken YubiKey can be replaced.
Heads-up: for high-stakes secrets, use Superbacked OS — a hardened operating system that runs offline and persists nothing to disk — especially when provisioning YubiKey hardware, the only moment the secret exists in plaintext on a computer.
The superbacked command is available in terminal on Ubuntu Desktop and Superbacked OS, and after the optional terminal step of the macOS and Tails guides.
Heads-up: on most YubiKeys, slot 1 ships programmed with the factory Yubico OTP credential and overwriting it is permanent — which is why Superbacked defaults to slot 2, leaving the factory credential intact. Use
--slot 1only if overwriting it is deliberate.
Heads-up: on macOS, opening the YubiKey may require granting the terminal Input Monitoring permission (System Settings → Privacy & Security → Input Monitoring).
Heads-up: if the YubiKey’s OTP interface is disabled, the command offers to enable it and waits for the YubiKey to restart. If the slot is already programmed, the command asks before overwriting it — overwriting permanently destroys the current secret.
Superbacked uses HMAC-SHA1 challenge-response, so the YubiKey needs to be provisioned once with a challenge-response secret — the same operation Yubico Authenticator calls “Program a challenge-response credential”. The following command generates a secret, provisions slot 2, verifies the slot answers correctly and displays the secret so it can be backed up (on Superbacked OS, the first confirmation is skipped).
By default, computing a response requires touching the YubiKey — every derivation asks for physical presence.
Use --no-touch to provision a slot that answers without touch (weaker).
Heads-up: the secret is displayed only once and cannot be read back from the YubiKey — without a backup of the secret or a second YubiKey provisioned with it, every derived password, derived Bitcoin wallet and YubiKey-protected block or standalone archive is unrecoverable.
Back up the secret in a blockset or block that is not YubiKey-protected — restoring the backup must never depend on the YubiKey it replaces. When restored, Superbacked recognizes it as a YubiKey challenge-response secret and reports whether the connected YubiKey is provisioned with it.
Provision a second YubiKey with the same secret so either one derives the same passwords and wallets — the secret is prompted twice (hidden) and must match. It can also be piped to the command instead of typed.
Copyright (c) Superbacked, Inc.