Уже наверное полгода у меня есть YubiKey 5C NFC. Пользуюсь им как аппаратным ключом и для получения OTP паролей, и только сейчас дошли руки разобраться что там по работе с SSH.
А все оказалось достаточно просто. Вот эта команда позволяет сгенерировать SSH ключ, который будет связан с ключом, который существует внутри YubiKey:
Из-за этого ограничения пришлось обновить сервера с RHEL 8 на RHEL 9
ssh-keygen -t ed25519-sk -O resident -f ~/.ssh/key_name -O verify-required
Все как с обычными ключами, у вас появится 2 файла в папке ssh key_name
и key_name.pub
. Только вот, воспользоваться секретным ключем без подключения YubiKey не выйдет, также нужно будет ввести пароль от YubiKey и коснуться его.
Если каждый раз вводить пароль от YubiKey не хочется, то удалите параметр -O verify-required
. Тогда нужно будет только касаться ключа.
GitHub и GitLab
Такой ключ подойдет и для доступа к репозиториям. Но необходимо будет прописать в ~/.ssh/config
информацию о том, какой ключ использовать:
Host github.com
Hostname github.com
IdentityFile ~/.ssh/github
IdentitiesOnly yes
Дополнительный материал
Оставлю тут доклад, который описывает все возможности YubiKey