| .. | ||
| install.sh | ||
| README.md | ||
Yubico Tools Suite
Hardware security key management and authentication tools for YubiKey.
What's Included
| Tool | Purpose |
|---|---|
| YubiKey Manager | GUI to configure YubiKey settings, FIDO2 PIN, OTP slots, PIV |
| Yubico Authenticator | TOTP/HOTP authenticator using YubiKey hardware |
| yubico-piv-tool | Command-line PIV/Smart Card operations |
Threat Model
Protects Against:
- Phishing attacks (FIDO2/WebAuthn is phishing-resistant)
- TOTP code theft from compromised phone
- Password-only authentication weaknesses
- Remote key extraction (keys never leave hardware)
Use Cases:
- 2FA for online accounts (GitHub, Google, AWS, etc.)
- Password-less authentication via FIDO2
- SSH authentication with hardware keys
- Code signing with PIV certificates
Installation
./install.sh
This will:
- Install system dependencies (pcscd, smart card libs)
- Download and install YubiKey Manager AppImage
- Download and extract Yubico Authenticator
- Download and extract yubico-piv-tool
- Create launch scripts in ~/bin/
- Create .desktop entries for app menu
Dependencies
Installed automatically:
pcscd- PC/SC smart card daemonlibpcsclite1- Smart card librarylibccid- CCID driver for smart cardslibfuse2- Required for AppImageslibu2f-udev- udev rules for U2F devices
Usage
YubiKey Manager
yubikey-manager
# or
~/opt/yubico/yubikey-manager.AppImage
Configure:
- FIDO2 PIN
- OTP slots (Yubico OTP, static password, HOTP, Challenge-Response)
- PIV certificates and PINs
- Reset YubiKey to factory settings
Yubico Authenticator
yubico-auth
# or
~/opt/yubico/authenticator/authenticator
Features:
- Scan QR codes to add TOTP/HOTP accounts
- Codes stored on YubiKey (not on computer)
- Touch YubiKey to reveal codes
- Works across devices (codes travel with YubiKey)
yubico-piv-tool
~/opt/yubico/piv-tool/bin/yubico-piv-tool --help
# Generate key in slot 9a
yubico-piv-tool -a generate -s 9a -A RSA2048
# Import certificate
yubico-piv-tool -a import-certificate -s 9a -i cert.pem
Security Best Practices
- Set a strong FIDO2 PIN - Required for WebAuthn
- Set PIV PINs - Default is 123456, change immediately
- Keep backup keys - Have a second YubiKey registered
- Store recovery codes - For accounts using YubiKey 2FA
- Use touch requirement - Enable touch for TOTP generation
Troubleshooting
YubiKey not detected
# Check pcscd service
sudo systemctl status pcscd
# Restart pcscd
sudo systemctl restart pcscd
# Check USB
lsusb | grep -i yubico
Permission issues
# Add user to plugdev group
sudo usermod -aG plugdev $USER
# Log out and back in
AppImage won't run
# Ensure libfuse2 is installed
sudo apt install libfuse2