Есть ли простой способ проверить, соответствует ли данный закрытый ключ указанному открытому ключу? У меня есть несколько файлов * .pub и несколько файлов * .key, и мне нужно проверить, какие из них идут.
Опять же, это файлы pub / key, DSA.
Я бы действительно предпочел однострочник какой-то ...
encryption
ssl
openssl
key
Loki
источник
источник
id_rsa.pub.blahhost
файлов, и я не знал, какой из них соответствует одиночномуid_rsa
закрытому ключу, и я настраиваю scp без пароля, чтобы я мог мигрировать со старых сайтов. Создание новой пары ключей не вариант; У меня все мои ключи настроены хорошо, и я не собираюсь их портить.Я всегда сравниваю MD5-хеш модуля с помощью этих команд:
Если хэши совпадают, то эти два файла идут вместе.
источник
Для ключей DSA используйте
распечатать открытые ключи, затем
отобразить открытые ключи, соответствующие закрытому ключу, а затем сравнить их.
источник
Предполагая, что у вас есть открытые ключи внутри сертификатов x.509, и предполагая, что они являются ключами RSA, тогда для каждого открытого ключа выполните
Для каждого закрытого ключа выполните
Затем сопоставьте ключи по модулю.
источник
Проверка может быть упрощена с помощью diff:
Единственная странность в том, что diff ничего не говорит, если файлы одинаковы, поэтому вам сообщат, только если public и private не совпадают.
источник
diff -s
diff -qs
возвращает простой «идентичный / не тождественны ответа (2) , вы должны удалить комментарий в ключевом файле публичного перед запуском диф..Удалите открытые ключи и сгенерируйте новые из закрытых ключей. Храните их в отдельных каталогах или используйте соглашение об именах, чтобы сделать их прямыми.
источник
Введите следующую команду, чтобы проверить, являются ли закрытый ключ и открытый ключ совпадающим набором (идентичным) или не совпадающим набором (отличаются) в каталоге $ USER / .ssh. Команда cut предотвращает сравнение комментария в конце строки в открытом ключе, позволяя сравнивать только ключ.
Вывод будет выглядеть как одна из этих строк.
Я написал сценарий оболочки, который пользователи используют для проверки прав доступа к файлам своих файлов ~ / .ssh / и соответствующих ключей. Это решает мои проблемы с пользовательскими инцидентами при настройке ssh. Это может помочь вам. https://github.com/BradleyA/docker-security-infrastructure/tree/master/ssh
Примечание. Мой предыдущий ответ (в марте 2018 года) больше не работает с последними выпусками openssh. Предыдущий ответ: diff -qs <(ssh-keygen -yf ~ / .ssh / id_rsa) <(cut -d '' -f 1,2 ~ / .ssh / id_rsa.pub)
источник
Если вы работаете в Windows и хотите использовать графический интерфейс, с помощью puttygen вы можете импортировать в него свой закрытый ключ:
После импорта вы можете сохранить его открытый ключ и сравнить его с вашим.
источник
Зашифруйте что-нибудь с помощью открытого ключа и посмотрите, какой закрытый ключ расшифровывает это.
В этой статье проекта кода, написанной Джеффом Этвудом, реализована упрощенная оболочка для криптографических классов .NET. Предполагая, что эти ключи были созданы для использования с RSA, используйте асимметричный класс с вашим открытым ключом для шифрования и то же самое с вашим закрытым ключом для дешифрования.
источник
Если ничего не возвращается, то они совпадают:
источник
Просто используйте puttygen и загрузите в него свой закрытый ключ. Предлагает различные варианты, например, экспорт открытого ключа.
источник