Wie kann ich eine Datei verschlüsseln?

9

Ich möchte einige Dateien von meinem Server auf meinen Laptop herunterladen, und die Sache ist, dass ich möchte, dass diese Kommunikation so heimlich und sicher wie möglich ist. Bisher habe ich VPN verwendet. Auf diese Weise leite ich den gesamten Internetverkehr meines Laptops über meinen Server um. Außerdem habe ich versucht, eine Datei mit FTP zu senden und gleichzeitig Wireshark zu beobachten. Die Kommunikation scheint verschlüsselt zu sein, ich möchte jedoch auch die Datei selbst verschlüsseln (als Sicherheit im zweiten Schritt oder so ähnlich).

Mein Server ist ein RasPi mit Raspbian. Mein Laptop ist Macbook Air.

Ich möchte erstens eine Datei in meinem Ras Pi verschlüsseln und zweitens herunterladen. Wie kann ich das machen?

drpaneas
quelle
1
gpgkann Dateien entweder asymmetrisch (unter Verwendung eines öffentlichen Schlüssels zur Verschlüsselung und eines privaten Schlüssels zur Entschlüsselung) oder symmetrisch (unter Verwendung desselben Schlüssels / Passworts zur Ver- und Entschlüsselung) verschlüsseln: dewinter.com/gnupg_howto/english/GPGMiniHowto.html
Martin von Wittich
Warum nicht ein Protokoll wie HTTPS, SFTP oder FTPS verwenden? Wenn die Kommunikation verschlüsselt ist, bringt das Hinzufügen einer zweiten Verschlüsselungsebene nichts.
Gilles 'SO - hör auf böse zu sein'

Antworten:

22

Sie können opensslzum Ver- und Entschlüsseln mit schlüsselbasierten symmetrischen Chiffren verwenden. Zum Beispiel:

openssl enc -in foo.bar \
    -aes-256-cbc \
    -pass stdin > foo.bar.enc

Verschlüsselt foo.barzu foo.bar.enc(Sie können -outSchalter , um die Ausgabedatei angeben, statt stdout wie oben Umleitung) unter Verwendung einer 256 - Bit - AES - Chiffre in CBC - Modus. Es stehen verschiedene andere Chiffren zur Verfügung (siehe man enc). Der Befehl wartet dann darauf, dass Sie ein Kennwort eingeben und daraus einen entsprechenden Schlüssel generieren. Sie können den Schlüssel mit sehen -poder Ihren eigenen anstelle eines Passworts mit verwenden -K(tatsächlich ist es etwas komplizierter als das, da ein Initialisierungsvektor oder eine Initialisierungsquelle benötigt wird, siehe man encerneut). Wenn Sie ein Kennwort verwenden, können Sie zum Entschlüsseln dasselbe Kennwort verwenden. Sie müssen den generierten Schlüssel nicht anzeigen oder aufbewahren.

So entschlüsseln Sie dies:

openssl enc -in foo.bar.enc \
    -d -aes-256-cbc \
    -pass stdin > foo.bar

Beachten Sie die -d. Siehe auch man openssl.

Goldlöckchen
quelle
Sie können das Ergebnis auch mit der Option in eine Datei -out FILENAMEausgeben, anstatt die Ausgabe weiterzuleiten.
crazyGuy
4

In einmaligen Fällen können Sie mit zip und einem Passwort verschlüsseln. Obwohl es nicht so stark ist wie schlüsselbasierte Techniken (weil es schwierig ist, ein gutes Passwort zu haben), ist es wahrscheinlich eine gute Ad-hoc-Situation.

Die Befehlszeile sieht folgendermaßen aus:

zip -r -0 -e encrypted_file.zip /path/to/files

-r to recurse directories.
-e to encrypt
Hogan
quelle