Итак, сценарий таков: учитывая, что я Боб, я хочу зашифровать какое-то сообщение для Алисы. Единственный открытый ключ, который у меня есть, это ее ssh-rsa
id_rsa.pub:
SSH-RSA AAAAB3NzaC1yc2EAAAABIwAAAQEAyb + qaZLwgC7KAQJzYikf3XtOWuhlMXVv2mbTKa5dp0sHPRd2RaYnH8ZRkt7V8bjqct1IHGCuxI8xyoEp4at3FHe6j9RfWiarc1ldLUCmTtryI0GGpRs6Zpvqdtpcq / 1NCIYtUQAvsImyEFCtqmB2suDo1ZSllZQ0x9TCKHdCANYIOeaniuFzR57POgE3vxk / r6PO24oy8BIWqxvi29r0n1LUigVBJ7CmMHuzb4 / + i1v6PxV1Lqnj6osPP9GpXpsh8kLUCby / KcmcryWNdSP0esyCdDxkA5hlIuk8qL1vzsyPluUQuc0BEHu6nuw8WQlCF1mFFxcpJL + MhWEr01WIIw == sikachu@Sikachus-Notebook.local
Итак, есть ли способ зашифровать строку с помощью этого открытого ключа, чтобы она могла использовать свой закрытый ключ из id_rsa
(сгенерированный из ssh-keygen
) для расшифровки сообщения?
(Я знаю, что это возможно сразу, если вы используете .pem
файл пары ключей. Если вы можете показать мне, как преобразовать его в формат, который openssl
поддерживает, это было бы также здорово!)
Спасибо!
источник
ssh-rsa
открытому ключу, и я не хочу добавлять еще один уровень сложности (например, попросить получателя перейти на установку gpg и т. Д.)Ответы:
Возможно преобразовать ваш открытый ключ ssh в формат PEM (который может прочитать «openssl rsautl»):
Пример:
Предполагая, что «myMessage.txt» - это ваше сообщение, которое должно быть зашифровано открытым ключом.
Затем просто зашифруйте ваше сообщение с помощью openssl rsautl и вашего преобразованного открытого ключа PEM, как вы это обычно делаете:
Результатом является ваше зашифрованное сообщение в myEncryptedMessage.txt.
Чтобы проверить свою работу по расшифровке секретного ключа Алисы:
источник
ssh-keygen
нет-m
варианта. (Я не могу понять, как спросить ssh-keygen о его версии.) Замена-m
на-t
работает, но затемopenssl
говорит мне, что «не удается загрузить открытый ключ». См. Stackoverflow.com/questions/18285294/… .Попробуйте ssh-vault: он использует открытые ключи ssh-rsa для шифрования «создать хранилище» и закрытый ключ ssh-rsa для расшифровки «просмотра содержимого хранилища»
источник
Почему бы не сделать это супер очевидным способом, который не требует использования собственного крипто.
Алиса sftps to alice@bobserver.com, которая настроена так, чтобы разрешить только аутентификацию с открытым ключом для учетной записи Алиса. Свойства ssh прекрасно гарантируют, что только Алиса может аутентифицировать. Даже человек в середине атаки терпит неудачу, поскольку (при условии, что вы отключили ssh1 и настаиваете на правильных настройках), первоначальное общение с использованием DH создает значение, известное как Алисе, так и Бобу, но не любому человеку в середине, и это может использоваться для аутентификации что ни ответ, ни MITM-атака не могут видеть содержимое сообщения.
Так что имей Алису СФТП в свою коробку и скачай файл.
источник