GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwenden von GPG zum Verschlüsseln und Entschlüsseln von Dateien unter Linux [Hands-on für Anfänger]

GnuPG, im Volksmund als GPG bekannt, ist ein äußerst vielseitiges Tool, das weithin als Industriestandard für die Verschlüsselung von Dingen wie E-Mails, Nachrichten, Dateien oder einfach allem, was Sie sicher an jemanden senden müssen, verwendet wird.

Es ist einfach, mit GPG zu beginnen, und Sie können es in wenigen Minuten verwenden.

In diesem Tutorial zeige ich Ihnen, wie Sie Dateien mit GPG verschlüsseln und entschlüsseln. Dies ist ein einfaches Tutorial, und Sie können es auch alle ausprobieren, um es auf Ihrem Linux-System zu üben. Dies wird Ihnen helfen, die GPG-Befehle zu üben und zu verstehen, wenn Sie absolut neu darin sind.

Lesen Sie zuerst das gesamte Tutorial und beginnen Sie dann selbst damit.

Wie funktioniert GPG für die Verschlüsselung?

Um mit der Verwendung von GPG zu beginnen, benötigen Sie zunächst einen GPG-Schlüssel.

Mit einem GPG-Schlüssel werden Sie später in diesem Tutorial Dateien verschlüsseln (oder entschlüsseln). Es wird auch verwendet, um Sie zu identifizieren, wobei Dinge wie Ihr Name und Ihre E-Mail-Adresse ebenfalls an den Schlüssel gebunden sind.

GPG-Schlüssel funktionieren mit zwei Dateien, einem privaten Schlüssel und einem öffentlichen Schlüssel. Diese beiden Schlüssel sind miteinander verknüpft und werden beide benötigt, um alle Funktionen von GPG zu nutzen, insbesondere das Verschlüsseln und Entschlüsseln von Dateien.

Wenn Sie eine Datei mit GPG verschlüsseln, verwendet es den privaten Schlüssel. Die neue, verschlüsselte Datei kann dann nur entschlüsselt werden mit dem gepaarten öffentlichen Schlüssel.

Der private Schlüssel soll so gespeichert werden, wie es direkt in seinem Namen angegeben ist – privat und nicht an Dritte weitergegeben.

Der öffentliche Schlüssel hingegen soll an andere weitergegeben werden oder an jeden, der Ihre Dateien entschlüsseln soll.

Hier kommt der Hauptansatz von GPG für die Verschlüsselung ins Spiel. Damit können Sie Dateien lokal verschlüsseln und anderen dann die Gewissheit geben, dass die empfangenen Dateien tatsächlich von Ihnen stammen. Als einzige Möglichkeit können sie entschlüsseln die Datei ist bei Ihrem öffentlicher Schlüssel, der nur funktionieren würde, wenn die Datei verschlüsselt wäre mit Ihrem privaten Schlüssel an erster Stelle.

Das funktioniert auch in umgekehrter Richtung! Andere Personen können Dateien mit Ihrem öffentlichen Schlüssel verschlüsseln, und die einzige Möglichkeit, sie zu entschlüsseln, ist mit Ihrem privaten Schlüssel. Auf diese Weise können andere Dateien öffentlich posten, ohne sich Sorgen machen zu müssen, dass andere Personen sie lesen können.

Mit anderen Worten, wenn eine Datei mit einem privaten Schlüssel verschlüsselt wurde, kann sie nur mit dem entsprechenden öffentlichen Schlüssel entschlüsselt werden. Und wenn eine Datei mit einem öffentlichen Schlüssel verschlüsselt wurde, kann sie nur mit dem entsprechenden privaten Schlüssel entschlüsselt werden.

Sie verwenden GPG bereits, ohne es zu merken

Eines der häufigsten Beispiele für die Verwendung von GPG ist der Linux-Paketmanager, insbesondere die externen Repositories. Sie fügen den öffentlichen Schlüssel des Entwicklers zu den vertrauenswürdigen Schlüsseln Ihres Systems hinzu. Der Entwickler signiert die Pakete (erzeugt eine Signatur) mit seinem privaten Schlüssel. Da Ihr Linux-System über die öffentliche Datei verfügt, versteht es, dass das Paket tatsächlich vom vertrauenswürdigen Entwickler stammt.

Eine Reihe von verschlüsselten Diensten verwenden darunter eine Art GPG-Implementierung, ohne dass Sie es merken. Aber es ist besser, jetzt nicht auf diese Details einzugehen.

Nun, da Sie mit dem Konzept ein wenig vertraut sind, sehen wir uns an, wie Sie GPG zum Verschlüsseln einer Datei und dann zum Entschlüsseln verwenden können.

Dateien mit GPG verschlüsseln und entschlüsseln

Dies ist ein sehr vereinfachtes Szenario. Ich nehme an, Sie haben nur ein System und möchten sehen, wie GPG funktioniert. Sie senden die Dateien nicht an ein anderes System. Sie verschlüsseln die Datei und entschlüsseln sie dann auf demselben System.

Dies ist natürlich kein praktischer Anwendungsfall, aber das ist auch nicht der Zweck dieses Tutorials. Mein Ziel ist es, Sie mit den GPG-Befehlen und deren Funktionsweise vertraut zu machen. Danach können Sie dieses Wissen (falls erforderlich) in einer realen Situation anwenden. Und dafür zeige ich Ihnen, wie Sie Ihren öffentlichen Schlüssel mit anderen teilen können.

Schritt 1:GPG installieren

GPG ist standardmäßig in den Repositories der meisten Distributionen enthalten.

Installieren Sie auf Debian- und Ubuntu-basierten Systemen das gpg-Paket:

sudo apt install gpg

Wenn Sie Arch-basierte Distributionen verwenden, installieren Sie das gnupg-Paket mit dem pacman-Befehl:

sudo pacman -S gnupg

Schritt 2:Generieren eines GPG-Schlüssels

Das Generieren eines GPG-Schlüssels auf Ihrem System ist ein einfaches Ein-Befehl-Verfahren.

Führen Sie einfach den folgenden Befehl aus, und Ihr Schlüssel wird generiert (Sie können für die meisten Fragen die Standardwerte verwenden, wie in den unterstrichenen Abschnitten unten gezeigt):

gpg --full-generate-key

Überprüfen des GPG-Schlüssels

Sie können dann sehen, dass der private Schlüssel und der öffentliche Schlüssel beide durch die unter pub angezeigte ID miteinander verknüpft sind indem Sie die –list-secret-keys verwenden und –list-public-keys Befehle bzw.:

Schritt 3:Datei mit GPG verschlüsseln

Nachdem Sie unsere GPG-Schlüssel eingerichtet haben, können Sie mit der Verschlüsselung unserer Dateien beginnen!

Verwenden Sie den folgenden Befehl, um Dateien zu verschlüsseln:

gpg --encrypt --output file.gpg --recipient [email protected] file

Lassen Sie uns kurz durchgehen, was dieser Befehl bewirkt:

Zuerst haben Sie die –verschlüsselung angegeben Möglichkeit. Dies teilt GPG einfach mit, dass wir eine Datei verschlüsseln werden.

Als Nächstes haben Sie –output file.gpg angegeben . Dies kann alles sein, obwohl es normalerweise der Name der Datei ist, die Sie verschlüsseln, plus eine .gpg Erweiterung (also message.txt würde zu message.txt.gpg werden ).

Als Nächstes geben Sie –recipient [email protected] ein . Dies gibt die E-Mail für einen entsprechenden GPG-Schlüssel an, der auf diesem System noch nicht existiert.

Immer noch verwirrt?

Dies funktioniert so, dass die E-Mail, die Sie hier angeben, an einen öffentlichen Schlüssel auf Ihrem lokalen System gebunden sein muss.

Normalerweise stammt dies aus dem öffentlichen GPG-Schlüssel einer anderen Person, mit der Sie Ihre Datei verschlüsseln werden. Danach kann die Datei nur mit dem privaten Schlüssel dieses Benutzers entschlüsselt werden.

Ich werde meinen vorherigen GPG-Schlüssel mit dem [email protected] verwenden in diesem Beispiel. Die Logik wäre also, dass ich die Datei mit dem public verschlüssele Schlüssel von h[email protected] , die dann nur noch mit private entschlüsselt werden kann Schlüssel von [email protected] .

Sie hätten den öffentlichen Schlüssel nur, wenn Sie eine Datei für jemand anderen verschlüsseln würden, aber da Sie die Datei für sich selbst verschlüsseln, haben Sie beide Schlüssel auf Ihrem System.

Zuletzt geben Sie einfach die Datei an, die Sie verschlüsseln möchten. Verwenden wir für dieses Beispiel eine Datei namens message.txt mit folgendem Inhalt:

We're encrypting with GPG!

Ebenso, wenn die E-Mail [email protected] war , wäre der neue GPG-Befehl wie folgt:

gpg --encrypt --output message.txt.gpg --recipient [email protected] message.txt

Wenn Sie dann versuchen, die Datei zu lesen, sehen Sie, dass sie wie Kauderwelsch aussieht. Das wird erwartet, weil die Datei jetzt verschlüsselt ist:

Lassen Sie uns nun die unverschlüsselte Datei message.txt löschen, damit Sie sehen können, dass die Datei message.txt.gpg tatsächlich ohne die Originaldatei problemlos entschlüsselt wird:

Schritt 4:Entschlüsseln der verschlüsselten Datei mit GPG

Lassen Sie uns zum Schluss die verschlüsselte Nachricht tatsächlich entschlüsseln. Sie können dies mit dem folgenden Befehl tun:

gpg --decrypt --output file file.gpg

Um das Argument hier durchzugehen, geben wir zuerst –decrypt an , das GPG mitteilt, dass Sie eine Datei entschlüsseln werden.

Als nächstes geben Sie –output ein Datei, die GPG einfach mitteilt, in welcher Datei Sie die verschlüsselte Form unserer Datei speichern, nachdem Sie sie entschlüsselt haben.

Zuletzt geben Sie file.gpg ein , das ist nur der Pfad zu Ihrer verschlüsselten Datei.

Nach dem Beispiel würde ich den folgenden Befehl verwenden:

gpg --decrypt --output message.txt message.txt.gpg

Und voila, du bist fertig! Das ist alles, wenn Sie Dateien mit GPG ver- und entschlüsseln möchten.

Das Einzige, was Sie vielleicht noch wissen möchten, ist, wie Sie Ihre öffentlichen Schlüssel mit anderen teilen können, damit diese Dateien verschlüsseln können, bevor sie sie Ihnen senden.

Senden und Empfangen von GPG-Schlüsseln

Um jemandem einen GPG-Schlüssel zu senden, müssen Sie ihn zuerst aus Ihrem Schlüsselbund exportieren , das alle Ihre öffentlichen und privaten Schlüssel enthält.

Um einen Schlüssel zu exportieren, suchen Sie einfach die Schlüssel-ID in Ihrem Schlüsselbund und führen Sie dann den folgenden Befehl aus, wobei Sie id ersetzen mit der ID des Schlüssels und key.gpg mit dem Namen der Datei, in der Sie speichern möchten:

gpg --output key.gpg --export id

Um einen Schlüssel zu importieren, geben Sie dem anderen Benutzer einfach die Ausgabedatei (vom vorherigen Befehl) und lassen Sie ihn dann den folgenden Befehl ausführen:

gpg --import key.gpg

Um den Schlüssel jedoch normal zu verwenden, müssen Sie den Schlüssel verifizieren, damit GPG ihm wirklich vertraut.

Dies kann durch Ausführen der –edit-Taste erfolgen Befehl auf dem System des anderen Benutzers, gefolgt vom Signieren des Schlüssels:

Führen Sie zuerst gpg --edit-key id aus :

Führen Sie als Nächstes fpr aus Befehl, der den Fingerabdruck für den Schlüssel anzeigt. Die Ausgabe dieses Befehls sollte mit der Ausgabe auf Ihrem eigenen Computer validiert werden, die durch Ausführen derselben –edit-key gefunden werden kann Befehl auf Ihrem System:

Wenn alles passt, führen Sie einfach das Zeichen aus Befehl und alles ist startklar:

Das ist es! Der andere Benutzer kann jetzt mit dem Verschlüsseln von Dateien mit Ihrem öffentlichen Schlüssel beginnen, so wie Sie es zuvor getan haben, um sicherzustellen, dass sie nur für Sie lesbar sind, wenn Sie sie mit Ihrem privaten Schlüssel entschlüsseln.

Und das sind alle Grundlagen von GPG!

Abschluss

Sie haben jetzt alles besprochen, was Sie brauchen, um mit der Verwendung von GPG zu beginnen, einschließlich der Verschlüsselung von Dateien für sich selbst und für andere. Wie ich bereits erwähnt habe, dient dies nur dazu, zu verstehen, wie der GPG-Verschlüsselungs- und -Entschlüsselungsprozess funktioniert. Das soeben erworbene grundlegende GPG-Wissen kann auf die nächste Stufe gebracht werden, wenn es in realen Szenarien angewendet wird.

Benötigen Sie Hilfe, um etwas noch herauszufinden, oder etwas funktioniert einfach nicht richtig? Fühlen Sie sich frei, etwas davon in den Kommentaren unten zu hinterlassen.

Originalartikel


Linux
  1. Verschlüsseln und entschlüsseln Sie Dateien mit einer Passphrase unter Linux

  2. So verschlüsseln und entschlüsseln Sie Dateien und Verzeichnisse mit Tar und OpenSSL

  3. So verschlüsseln und entschlüsseln Sie eine Datei mit GnuPG unter Linux

  4. So prüfen Sie Änderungen an Dateien und Ausführungen von Dateien in Linux

  5. Simulieren des Key Press-Ereignisses mit Python für Linux

Eine einfache Möglichkeit, Dateien von der Befehlszeile in Linux zu verschlüsseln und zu entschlüsseln

Cryptr – Ein einfaches CLI-Dienstprogramm zum Verschlüsseln und Entschlüsseln von Dateien

So sichern und wiederherstellen Sie Dateien mit BorgBackup unter Linux

So sichern Sie Dateien und Verzeichnisse mit Rsync unter Linux

40 nützliche Git-Befehle für Linux-Administratoren und -Entwickler

So löschen Sie Dateien und Verzeichnisse mit der Linux-Befehlszeile