YubiKey Manager CLI

Python library and command line tool for configuring a YubiKey. If you’re looking for the full graphical application, which also includes the command line tool, it’s here.

Note
This project is in BETA. Any part of the application may change before the next release, and some functionality and documentation is missing at this point.

Usage

Usage: ykman [OPTIONS] COMMAND [ARGS]...

  Configure your YubiKey via the command line.

Options:
  -v, --version
  -d, --device SERIAL
  -l, --log-level [DEBUG|INFO|WARNING|ERROR|CRITICAL]
                                  Enable logging at given verbosity level
  --log-file FILE                 Write logs to the given FILE instead of standard error;
                                  ignored unless --log-level is also set
  -h, --help                      Show this message and exit.

Commands:
  fido     Manage FIDO applications.
  info     Show general information.
  list     List connected YubiKeys.
  mode     Manage connection modes (USB Interfaces).
  oath     Manage OATH application.
  openpgp  Manage OpenPGP application.
  otp      Manage OTP Application.
  piv      Manage PIV application.

Installation

Ubuntu

sudo apt-add-repository ppa:yubico/stable
sudo apt update
sudo apt install yubikey-manager

macOS

brew install ykman

Or from source:

brew install swig ykpers libusb
pip install --user yubikey-manager

Windows

The command line tool is installed together with the GUI version of YubiKey Manager.

Pip

pip install yubikey-manager

In order for the pip package to work, ykpers and libusb need to be installed on your system as well. Pyscard is also needed in some form, and if it’s not installed pip builds it using swig and potentially PCSC lite.

Bash completion

Experimental Bash completion for the command line tool is available, but not enabled by default. To enable it, run this command once:

source <(_YKMAN_COMPLETE=source ykman | sudo tee /etc/bash_completion.d/ykman)