Вопрос

ssh-add -l Дисплей, которые у меня есть 3 клавиши RSA, добавлены в мой агент SSH.

ssh-add -L Отображает эти общедоступные ключи.

Как мне получить личные ключи, чтобы я мог сохранить их в файле? Или по дизайну, что это невозможно? Как это работает тогда?

Можно ли попросить SSH-AGENT выполнять операции, используя закрытый ключ? Как я могу попросить его зашифровать/расшифровать номер для меня?

Это нормально, что я должен написать код для этого (язык программирования не имеет значения), но я бы предпочел использовать существующий инструмент или библиотеку.

Это было полезно?

Решение

Невозможно получить закрытый ключ или выполнить шифрование, используя протокол между SSH и SSH-агентом, но можно получить закрытый ключ, сбросив память о SSH-агенте. На Linux вы должны быть корнем, чтобы сделать дамп памяти.

Я только что нашел очень хорошее объяснение о том, как работает SSH-Agent: http://www.unixwiz.net/techtips/ssh-agent-forwarding.html Анкет Это частично отвечает на некоторые из моих вопросов.

  • Одним из наиболее умных аспектов агента является то, как он может проверить личность пользователя (или, точнее, владение частным ключом), не раскрывая этот личный ключ для кого -либо.

  • Одним из преимуществ безопасности агента является то, что закрытый ключ пользователя никогда не появляется в удаленных системах или на проводе, даже в зашифрованной форме.

Таким образом, протокол между SSH-клиентом и SSH-агентом не распространялся на SSH1 или SSH2, чтобы вывести частные ключи от SSH-агента.

Однако, как root, вы можете получить дамп памяти SSH-Agent и попытаться извлечь личный ключ оттуда. https://blog.netspi.com/stealing-uncrypted-ssh-agent-keys-from-memory Делает именно это, и в разделе «Комментарий» на этой странице упоминаются и другие части программного обеспечения. Тем не менее, программное обеспечение на этой странице не сработало для меня на Debian Buster: дамп памяти не содержал никаких ключей, хотя ssh-add -l показал ключ RSA.

Другие советы

В моем случае я случайно удалил папку .ssh, но мои ключи загружены. Но так как я не могу восстановить их из SSH-ADD, поэтому мне пришлось использовать программное обеспечение для восстановления файлов.

Вам, вероятно, не нужно. Скорее всего, вы просто хотите открытый ключ:

ssh-add -L > ~/.ssh/id_rsa.pub
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top