Могу ли я найти локальный закрытый ключ ssh по удаленному отпечатку пальца? [дубликат]

На этот вопрос уже есть ответ здесь:

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

Если я создаю новую пару ключей ssh ​​с помощью ssh-keygen -t rsa, я могу затем использовать ssh-keygen -lf для получения отпечатков как для закрытого, так и для открытого ключа, и они оба сообщают один и тот же отпечаток.

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

Очевидно, что отпечатки пальцев, которые я получаю с помощью ssh-keyscan, даже не похожи на отпечатки локальных ключей.

Есть ли какое-нибудь решение этой дилеммы?

2
задан 16 March 2017 в 23:32
2 ответа

Команда ssh-keyyscan предназначена для сканирования ключей хоста (/etc/ssh/ssh_host_*.pub), а не имеющихся ключей, используемых для аутентификации/авторизации пользователей.

Вам необходимо будет подключиться к удаленному хосту и изучить различные файлы авторизованных_ключей. Сложность заключается в том, что в файле authorized_keys может быть много ключей, поэтому вам нужно провести некоторые манипуляции для извлечения отдельных ключей и их распечатки.

Есть еще один вопрос/ответ на сервере с использованием некоторых хороших методов .

.
4
ответ дан 3 December 2019 в 09:03

Я думаю, что избегаю вашей дилеммы, просто определив априори какую пару ключей использовать для какого хоста в моей ~/.ssh/config

Host www
 HostName www.example.com
 IdentityFile ~/.ssh/key1
Host dev
 HostName dev.example.org
 IdentityFile ~/.ssh/key2
3
ответ дан 3 December 2019 в 09:03

Теги

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