Рубрики
Uncategorized

Использование Yubikey для хранения вашей клавиши SSH (RSA 4096)

Использование Yubikey для хранения вашей клавиши SSH (RSA 4096) Предварительные условия для этой процедуры к … с меткой безопасности, Linux, DevOps, Bash.

Получить максимум из вашего Yubikey (3 части серии)

Использование Yubikey для хранения вашей клавиши SSH (RSA 4096)

Предварительные условия

Для этой процедуры для работы вы должны иметь Гнупг Версия 2.0.22 или позже установлена на вашем компьютере. Версия модуля OpenPGP Yubikey должна быть 1.0,5 или более поздней версии. Чтобы проверить эту версию, вы можете запустить, после вставки Yubikey:

$ gpg-connect-agent --hex "scd apdu 00 f1 00 00" /bye
D[0000]  01 00 05 90 00                               
OK

Где «01 00 05» означает версию 1.0.5.

Если у вас есть существующий ключ, который вы хотите импортировать, этот ключ должен быть ключом RSA 2048-битной.

Вам также понадобится PIN-код администратора Yubikey. (По умолчанию 12345678)

Генерировать ключ

Пропустите этот шаг, если у вас уже есть ключ.

$ gpg --gen-key

gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
Your selection?

Поскольку имеются ключ размера и лимиты типа в зависимости от типа вашего Yubikey, см. Страницу сравнения, мы выберем вариант 1 и пойти с по умолчанию 4096 биты для следующего вопроса.

RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? 4096

Requested keysize is 4096 bits
Please specify how long the key should be valid.
         0 = key does not expire
        = key expires in n days
      w = key expires in n weeks
      m = key expires in n months
      y = key expires in n years
Key is valid for? (0)

Выберите дату истечения срока действия, если хотите. И ответьте, что данные верны.

Должно быть настоящее название, связанное с этим ключом.

Должен быть адрес электронной почты, связанный с этим ключом.

Может быть комментарий, прикрепленный к ключу, если вы хотите, или оставьте этот пустой.

Real name:
Email address:
Comment:

Если вы счастливы с этим пользовательским идентификатором ответа o для в порядке.

You selected this USER-ID:
    "Paul Micheli m>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?

Обратите внимание на идентификатор ключа, в этом случае 1 ****** 5 Отказ

We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: key 13AFCE85 marked as ultimately trusted
public and secret key created and signed.

gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   4  signed:   8  trust: 0-, 0q, 0n, 0m, 0f, 4u
gpg: depth: 1  valid:   8  signed:   2  trust: 3-, 0q, 0n, 5m, 0f, 0u
gpg: next trustdb check due at 2014-03-23
pub   4***R/1******5 2020-08-11 [expires: 2024-08-11]
      Key fingerprint = 7*************************************5
uid                Paul Michei m>

Импорт ключа

Теперь пришло время импортировать ключ на Yubikey в качестве ключа AUTH SSH.

$ gpg --edit-key 1******5

gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Secret key is available.

pub  4***R/1******5  created: 2020-08-11 [expires: 2024-08-11]  usage: SC
                     trust: ultimate      validity: ultimate
[ultimate] (1). Paul Micheli m>

gpg> toggle

sec  4***R/1******5  created: 2020-08-11 [expires: 2024-08-11]
(1)  Foo Bar 

gpg> keytocard
Really move the primary key? (y/N) y
Signature key ....: [none]
Encryption key....: [none]
Authentication key: [none]

Please select where to store the key:
   (1) Signature key
   (3) Authentication key
Your selection? 3

Здесь мы только что переместили первичный ключ к слоту авторизации PGP юбикея.

gpg> key 3

sec  4096R/13AFCE85  2020-08-11 [expires: 2024-08-11]
                     card-no: 0000 00000001
(1)  Paul Micheli m.com>

gpg> keytocard
Signature key ....: [none]
Encryption key....: [none]
Authentication key: 743A 2D58 688A 9E9E B4FC  493F 70D1 D7A8 13AF CE85 

И в качестве последнего шага мы теперь переместили ключ аутентификации на юбикею.

gpg> quit
Save changes? (y/N) y

После этого брелок сохраняется. И этот момент его больше не содержит реальный секретный ключ, только указатель, указывающий, что он хранится на смарт-карте.

Вы можете удалить эту клавишу из локального GPG DB, поэтому он хранится только на вашем юбике.

Просмотр открытого ключа

Чтобы раскрыть открытый ключ, необходимый для добавления к своим серверам autorized_keys Файл, чтобы вы могли использовать клавишу SSH на Yubikey в SSH на удаленные серверы.

Запустите команду ниже, чтобы раскрыть открытый ключ часть вашей ключевой пары SSH;

paulmicheli@minime:~$  ssh-add -L
ssh-rsa A********************Fey
**[NOPE NOT HAVING THE MIDDLE]**
****===ZDdO cardno:0***********8

Вы можете скопировать это на ваш autorized_keys Файл на свой сервер, а затем проверьте, используя SSH. Если вы используете марионетки для управления развертыванием ключа SSH, вы можете скопировать его там.

Получить максимум из вашего Yubikey (3 части серии)

Оригинал: «https://dev.to/paulmicheli/using-your-yubikey-to-store-your-ssh-key-rsa-4096-3pfl»