Wie verwende ich den öffentlichen ssh-rsa-Schlüssel, um einen Text zu verschlüsseln?

Das Szenario lautet also: Wenn ich Bob bin, möchte ich eine Nachricht für Alice verschlüsseln. Der einzige öffentliche Schlüssel, den ich habe, ist ihr ssh-rsa id_rsa.pub wie folgt:

Ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyb+qaZLwgC7KAQJzYikf3XtOWuhlMXVv2mbTKa5dp0sHPRd2RaYnH8ZRkt7V8bjqct1IHGCuxI8xyoEp4at3FHe6j9RfWiarc1ldLUCmTtryI0GGpRs6Zpvqdtpcq/1NCIYtUQAvsImyEFCtqmB2suDo1ZSllZQ0x9TCKHdCANYIOeaniuFzR57POgE3vxk/r6PO24oy8BIWqxvi29r0n1LUigVBJ7CmMHuzb4/+i1v6PxV1Lqnj6osPP9GpXpsh8kLUCby/KcmcryWNdSP0esyCdDxkA5hlIuk8qL1vzsyPluUQuc0BEHu6nuw8WQlCF1mFFxcpJL+MhWEr01WIIw== [email protected]

Gibt es also eine Möglichkeit, eine Zeichenfolge mit diesem öffentlichen Schlüssel zu verschlüsseln, damit sie verwenden kann ihr privater Schlüssel von id_rsa (generiert von ssh-keygen) zum Entschlüsseln der Nachricht?

(Ich weiß, dass es sofort möglich ist, wenn Sie .pem Schlüsselpaardatei verwenden. Wenn Sie mir zeigen können, wie Sie dies in das Format konvertieren, das openssl unterstützt, wäre das auch großartig!)

Dank!

Author: sikachu, 2013-04-01

3 answers

Es ist möglich, Ihren öffentlichen SSH-Schlüssel in das PEM-Format zu konvertieren (damit 'openssl rsautl' ihn lesen kann):

Beispiel:

ssh-keygen -f ~/.ssh/id_rsa.pub -e -m PKCS8 > id_rsa.pem.pub

Angenommen, 'myMessage.txt ' ist Ihre Nachricht, die mit einem öffentlichen Schlüssel verschlüsselt sein sollte.

Dann verschlüsseln Sie einfach Ihre Nachricht mit openssl rsautl und Ihrem konvertierten öffentlichen PEM-Schlüssel, wie Sie es normalerweise tun würden:

openssl rsautl -encrypt -pubin -inkey id_rsa.pem.pub -ssl -in myMessage.txt -out myEncryptedMessage.txt

Das Ergebnis ist Ihre verschlüsselte Nachricht in ' myEncryptedMessage.txt'

Um Ihre Arbeit zu testen, um den privaten Schlüssel von Alice zu entschlüsseln:

openssl rsautl -decrypt -inkey ~/.ssh/id_rsa -in myEncryptedMessage.txt -out myDecryptedMessage.txt
 89
Author: Dirk Thannhäuser,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-04-09 21:02:17

Versuchen Sie es mit ssh-vault Es werden öffentliche ssh-rsa-Schlüssel zum Verschlüsseln von "Tresor erstellen" und der private ssh-rsa-Schlüssel zum Entschlüsseln von "Inhalt des Tresors anzeigen" verwendet.

 1
Author: nbari,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-10-10 14:55:03

Warum tun Sie dies nicht auf die super offensichtliche Weise, bei der Sie nicht Ihre eigene Krypto rollen müssen?

Alice sftps zu [email protected] dies ist so eingerichtet, dass nur die Authentifizierung mit öffentlichem Schlüssel für das Konto alice zulässig ist. Die Eigenschaften von ssh stellen sicher, dass nur alice autorisieren kann. Selbst ein Mann im mittleren Angriff schlägt fehl, da (vorausgesetzt, Sie deaktivieren ssh1 und bestehen auf den richtigen Einstellungen) die anfängliche Kommunikation mit DH einen Wert erzeugt, der sowohl Alice als auch Bob bekannt ist, aber keinem Mann in der mitte und dies kann verwendet werden, um zu authentifizieren, dass keine Antwort oder MITM-Angriff kann den Inhalt des communicatino sehen.

, So haben alice sftp in Ihre box und laden Sie die Datei herunter.

 -3
Author: Peter Gerdes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-09-07 02:19:01