Recently, we were got our hands on some YubiKeys, and we decided to use them to create a Two Factor Authentication System (
2FA) for the fun of it! We had at our disposal an updated
Ubuntu 18.04 LTS so we installed the personalization tools from the official repositories in order to modify the behavior and configure the YubiKeys.
To our disappointment, when we used
yubikey-personalization-gui we would get an error that the firmware of the YubiKey was unknown…
At the time, the installation packages from the official Ubuntu repositories had version
3.1.24 for the
application version and
1.18.0 for the
We noticed that on the YubiKey Personalization Tools page there were newer versions of both the application and the library. Specifically at the time the
Application version was
3.1.26 and the
Library Version was
1.19.0. Since both were newer than the versions in the repositories we decided to build them and see if they work right with our YubiKeys.
The instructions in the respective installers, were not 100% complete and the installations failed by blindly following them. To actually make the installations work, we installed the following dependencies and tools before compiling:
sudo apt update -y; sudo apt upgrade -y; sudo apt install build-essential -y; sudo apt-get install pkg-config git autoconf libtool asciidoc-base -y;
After installing the above packages the rest of the installation went smoothly.
Installing the command line tools and the library
cd ~; # or any other folder of your choice sudo apt-get install libykpers-1-dev libyubikey-dev libusb-1.0-0-dev libjson-c-dev -y; git clone https://github.com/Yubico/yubikey-personalization.git; cd yubikey-personalization; autoreconf --install; ./configure; sudo make check install;
Installing the Qt based Cross-Platform YubiKey Personalization Tool
cd ~; # or any other folder of your choice sudo apt-get install qt4-qmake libqt4-dev -y; git clone https://github.com/Yubico/yubikey-personalization-gui.git; cd yubikey-personalization-gui; qmake && make;
This post is also available in: Greek