2010-05-11 6 views
22

Ich versuche einen Weg zu finden, eine verschlüsselte Datei auf einer 'virgin' EC2-Instanz zu entschlüsseln. Diese EC-Instanzen, die ich benutze (Ubuntu Lucid), enthalten nur meinen von AWS erstellten öffentlichen SSH-Schlüssel. Wenn ich damit eine Datei entschlüsseln kann, kann ich sie mit verschlüsselten Dateien füttern (zum Beispiel ein Bash-Skript mit einem Passwort für mein Subversion-Repository).Kann ich meinen ssh-public-key verwenden, um eine Datei zu entschlüsseln?

Also, meine Frage, kann ich meine ssh-Taste verwenden, um eine Datei zu verschlüsseln/entschlüsseln?

Danke!

Antwort

1

Sie können einen öffentlichen Schlüssel verwenden, um eine Datei zu verschlüsseln, aber Sie benötigen den entsprechenden privaten Schlüssel, um ihn zu entschlüsseln. Also, ja, Sie sollten in der Lage sein, Ihren ssh-Schlüssel zu benutzen, um eine Datei zu verschlüsseln/entschlüsseln, solange Sie Zugriff auf den öffentlichen und den privaten Schlüssel haben.

+2

Vielen Dank für die schnelle Antwort! Können Sie ein Beispiel für den Befehl geben, den ich geben muss (ich bin auf Linux), wie man das macht? Entschuldigung, ich bin hier im Dunkeln ... – bowlby

33

Die Datei:

echo 'This is a sekret' >/tmp/msg.txt 

Export Öffentliche Schlüssel (falls Sie es nicht haben/es verlieren):

openssl rsa -in ~/private.pem -out /tmp/public.pub -outform PEM -pubout 

Encrypt-Datei mit einem öffentlichen Schlüssel (jeder kann diesen Schlüssel hat) :

openssl rsautl -encrypt -inkey /tmp/public.pub -pubin -in /tmp/msg.txt -out /tmp/file.enc 

die Datei wiht privaten Schlüssel entschlüsselt werden (nur sollten Sie den privaten Schlüssel):

openssl rsautl -decrypt -inkey ~/private.pem -in /tmp/file.enc -out /tmp/decrypted.txt 

Die entschlüsselte Nachricht:

cat /tmp/decrypted.txt 
+0

Das war genau das, was ich wissen musste - danke! –

+0

Wie behandelt diese Antwort den "ssh" -Teil der Frage? Ich sehe hier weder "ssh" noch Dateien in ".ssh". –

+0

Danke. Genau das, was ich gesucht habe. – Lukas

Verwandte Themen