# `ykman` CLI tool for YubiKey management. 1. [TL;DR](#tldr) 1. [Further readings](#further-readings) 1. [Sources](#sources) ## TL;DR
Setup ```sh apt-add-repository 'ppa:yubico/stable' && apt install 'yubikey-manager' brew install 'ykman' pip install --user 'yubikey-manager' pkg install 'py38-yubikey-manager' snap install 'ykman' source <(_YKMAN_COMPLETE='bash_source' ykman | sudo tee '/etc/bash_completion.d/ykman') # Uninstall when installed via pgk installer on OS X sudo rm -rf '/usr/local/bin/ykman' '/usr/local/ykman' ```
Usage ```sh # Print the executable's version ykman --version ykman -v # Enable debug mode ykman --log-level 'DEBUG' … ykman -l 'DEBUG' --log-file 'path/to/file.log' … # Specify the YukiKey to use ykman --device '01234567' … ykman -d '01234567' … # List connected YubiKeys ykman list ykman list --serials # Show information about YubiKeys ykman info ykman -d '01234567' info --check-fips # Set OTP and FIDO mode ykman config mode 'OTP+FIDO' # Set CCID only mode and use touch to eject the smart card ykman config mode 'CCID' --touch-eject # Disable PIV over NFC ykman config nfc --disable 'PIV' # Enable all applications over USB ykman config usb --enable-all # Generate and set a random application lock code ykman config set-lock-code --generate # Run Python scripts ykman script 'script.py' ykman script 'script.py' '123456' 'indata.csv' # Show OATH status ykman oath info ykman -d '01234567' oath info # List OATH accounts ykman oath accounts list # Add OATH accounts ykman oath accounts add 'account-name' 'secret' --touch # Generate OATH codes for accounts ykman oath accounts code 'account-regex' # Rename OATH accounts ykman oath accounts rename 'account-regex' 'new-account-name' # Delete OATH accounts ykman oath accounts delete 'account-regex' # Reset OATH data ykman oath info # Show FIDO status # FIDO --> FIDO2 and U2F ykman fido info # List stored FIDO credentials ykman fido credentials list --pin '123456' # Delete FIDO credentials ykman fido credentials delete 'credential-id' # List registered fingerprints ykman fido fingerprints list ykman fido fingerprints list --pin '123456' # Register fingerprints ykman fido fingerprints add 'fingerprint-name' --pin '123456' # Delete stored fingerprints ykman fido fingerprints delete 'fingerprint-id' # Reset FIDO data ykman fido reset ykman fido reset --force # Change FIDO PIN ykman fido access change-pin --pin '123456' --new-pin '654321' ```
## Further readings - [Codebase] - [Documentation] ### Sources - [Configuring YubiKey for Challenge-Response with YubiKey Manager (ykman)] [codebase]: https://github.com/Yubico/yubikey-manager [documentation]: https://docs.yubico.com/software/yubikey/tools/ykman/Using_the_ykman_CLI.html [configuring yubikey for challenge-response with yubikey manager (ykman)]: https://bytefreaks.net/gnulinux/bash/configuring-yubikey-for-challenge-response-with-yubikey-manager-ykman