Импортируйте мой ключ SSH в качестве подключа GPG для аутентификации SSH.

Попробуйте следующее решение:

tail -n +2 name_of_file | head -n-1

Настройка

Вы можете легко адаптировать его для удаления первых n строк, изменив +2 of tail ;
или удалить последние n строк, изменив -1 из head .

6
23.06.2017, 06:07
2 ответа

Encontré un enfoque fácil. Necesita la utilidad pem2openpgpdel proyecto monkeysphere y la capacidad de gpg2para importar la clave existente como subclave.

Primero convierta la clave SSH al formato OpenPGP. Debe proporcionar una nueva identificación de usuario según lo requiera GPG.

$ pem2openpgp $TEMP_USERID <.ssh/id_rsa | gpg2 --import

Ahora tiene una nueva identificación de usuario con su clave SSH como clave maestra. Puede verificarlo congpg2 -K(Configuré TEMP_USERIDaTEST). También anote el agarre de la tecla recién importada:

$ gpg2 -K --with-keygrip $TEMP_USERID
sec   rsa4096 2018-03-02 [C]
      21C766CAC691F395D640E8207E9F9F883D1E49D8
      Keygrip = AAB27E63622E87B27AC34293EDF52C3AB016CA2E
uid           [ unknown] TEST

Ahora use gpg2 --expert --edit-keyen su clave maestra e importe la clave anterior como su subclave:

$ gpg2 --expert --edit-key $YOURUSERID
gpg> addkey
......
(13) Existing key
Enter the keygrip: AAB27E63622E87B27AC34293EDF52C3AB016CA2E
......

gpg2le hará muchas preguntas, como de costumbre. Recuerde alternar las capacidades de clave correctas (firmar :desactivado, cifrar :desactivado, autenticar :activado ).

Después de esto, debe tener la clave SSH importada como subclave de su clave maestra. Compruébalo:

$ gpg2 -K $YOURUSERID --with-keygrip
sec   rsa4096 2016-02-02 [SC]
......
uid           [ 绝对 ] CUI Hao (cvhc) <cuihao.leo@gmail.com>
......
ssb   rsa4096 2018-02-21 [A]
      Keygrip = AAB27E63622E87B27AC34293EDF52C3AB016CA2E

Puede usar gpg2 --export-ssh-keypara verificar que la subclave importada sea realmente la misma que la clave SSH original.

Tenga en cuenta que la identificación de usuario temporal utilizada para la importación de claves todavía está en su conjunto de claves. Debe eliminarlo manualmente. GnuPG evita que elimine la clave pública / identificación de usuario sin eliminar las claves privadas correspondientes. Sin embargo, dado que el usuario temporal y su subclave importada comparten la misma clave privada, gpg2 --delete-secret-keys $TEMP_USERIDtambién elimina la subclave importada.

Mi solución es hacer una copia de seguridad de las claves privadas en ~/.gnupg/private-keys-v1.dy volver a moverlas después de que gpg2eliminó la subclave importada.

Envío una solicitud de función para pedirle a GnuPG una opción para eliminar la clave pública sin afectar la clave privada:https://dev.gnupg.org/T3808

6
27.01.2020, 20:25

Все, что вам нужно:

export GPG_TTY=$(tty)
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
ssh-add -c -t 3600 ~/.ssh/id_rsa   # set the cache lifetime as 3600s

Тогда смело удаляйте файлы:mv ~/.ssh/id_rsa.* /path/to/backup.

Теперь вы можете выполнить вход по SSH для тестирования.

В конце концов, не забудьте добавить в свой профиль Среды, например .profileили ~/.bashrc.


(Ps :Вы можете найти ключ ssh (в формате gpg ), существует в ~/.gnupg/private-keys-v1.d/и с именем keygrip, который можно использовать для добавления в качестве подраздела.

Ссылка:

https://incenp.org/notes/2015/gnupg-for-ssh-authentication.html

https://www.gnupg.org/documentation/manuals/gnupg/Invoking-GPG_002dAGENT.html

7
27.01.2020, 20:25

Теги

Похожие вопросы