KeePassXC ломает HOTP в YubiKey

На работе я использую YubiKey в режиме HOTP и KeePassXC. KeePassXC умеет шифровать свою базу с использованием YubiKey, но мне эта возможность не нужна. YubiKey у меня настроен так, что по короткому табу по нему («short touch» или «slot 1») отдается HOTP (длинная строка символов сгенерированая на основании ранее заданного секрета).

У меня были неудобства с тем, что если запустить KeePassXC и ввести пароль к базе в тот момент, когда юбик вставлен, то короткий таб переставал работать (при этом остальная функциональность, такая так подключения юбика в качестве ssh-ключа в агент) оставалась. Некоторое время я работал в режиме «сначала запускаем KeePassXC и анлочим базу, потом вставляем юбик и работаем, если случайно залочил базу в KeePassXC, то либо ребутаемся, либо до конца дня используем альтернативные методы логина (в частности OTP c200, что менее удобно). В какой-то момент я подумал «Бля, заебало» и полез искать решение в интернеты. На сайте KeePassXC в разделе FAQ есть описание того, как включить поддержку YubiKey, но ни слова о том, как ее выключить. Чтение man’а тоже ничего не дало, зато в самом KeePassXC, в «Справка -> О программе -> Отладочная информация» я нашел «Enabled extensions: YubiKey» и пошел снова читать интернеты и man на тему того, как включать\выключать расширения.

Относительно быстро (просто полистав исходник) я выяснил что расширения можно включать\выключать путем перекомпиляции из исходников указывая нужные опции (удобно, чоо) и нужная мне опция «WITH_XC_YUBIKEY», которую нужно выставить в «OFF» (кто-бы мог подумать). «Надо бы пересобрать пакет из официального PPA, жалко что я не умею работать с PPA» подумал я и отвлекся на что-то более срочное, продолжая соблюдать четкий ритуал после каждого ребута: «мысленно выматериться, вытащить юбик, запустить keepass, разлочить базу, вставить юбик, добавить юбик в ssh-agent, пообещать себе разобраться с PPA». Делать «./configure ; make ; make install» или какой-нить checkinstall сильно не хотелось. Так прошло несколько месяцев и наконец то я созрел для того, что бы посмотреть на то, как работать с PPA с той стороны (со стороны майнтейнера). Оказалось что это не сильно сложнее, чем поправить спеку для rpm пакета, особенно если мы не собираем пакет с нуля, а берем уже готорый из чужого PPA и просто меняем несколько опций сборки. Короче если у вас что-то убунтоподобное и вы используете KeePassXC и YubiKey и столкнулись с той же проблемой, что и я, то можно просто решить эту проблему парой команд:

sudo add-apt-repository ppa:yukra/keepassxc-without-yubikey-ppa
sudo apt-get update

You can leave a response, or trackback from your own site.

Leave a Reply

Subscribe to RSS Feed