GPA oder Nautilus-Actions: Dateien intuitiv mit GnuPG verschlüsseln

Die seahorse-plugins waren früher für mich immer der Garant dafür, dass ich mit einem simplen Rechtsklick in Nautilus eine Datei ganz leicht mit GnuPG verschlüsseln oder entschlüsseln konnte. Wie im letzten Beitrag zu Gnome 3 erwähnt, dauert es mit der Wiedereinführung dieses Pakets noch bis Gnome 3.4. Zwar lassen sich die wichtigsten GnuPG-Kommandos auch schnell in der Konsole ausführen, ein grafisches Frontend für die Gnome-Desktopumgebung macht den Umgang mit den vielfältigen Optionen aber deutlich bequemer. Wer nicht warten möchte, hat eine Reihe von Alternativen. Für mich funktionieren die folgenden ganz gut.

Gnu Privacy Assistant (GPA)

Eine Möglichkeit viele Dateien auch mit verschiedenen Schlüsseln bequem mit Hilfe eines grafischen Frontends zu verschlüsseln, bietet das Programm Gnu Privacy Assistant kurz GPA genannt. Im Prinzip lässt es sich wie ein gewöhnlicher Dateimanager bedienen. Zu verschlüsselnde Dateien werden über den "Öffnen"-Dialog importiert, wonach man sie signieren, verschlüsseln und natürlich auch wieder entschlüsseln kann. GPA verwendet dabei die modularisierte und erweiterte Version 2 der GnuPG Software.

Nautilus Actions

Mit der Anwendung Nautilus-Actions lassen sich zusätzliche Menüeinträge zu Nautilus hinzufügen. Sie wird entweder als externes Programm in der Gnome-Shell oder mit dem Befehl nautilus-actions in einem Terminal gestartet. Mit dieser Erweiterung zum Dateimanager Nautilus ist es möglich angepasste Befehle, Funktionen und sogar Skripte an einen Menüeintrag zu binden.

Aktion definieren


Zuerst wird unter dem Reiter Aktion der Kontextbezeichner für den zukünftigen Menüeintrag festgelegt. In diesem Fall also Verschlüsseln oder Entschlüsseln. Zusätzlich lässt sich noch ein Symbol definieren, welches als Miniaturausgabe neben dem Eintrag erscheinen soll.

Befehl festlegen


Um GnuPG bedienen zu können und die Passwortabfrage möglich zu machen, habe ich mich entschieden meinen Terminalemulator rxvt-unicode zu benutzen. Im Prinzip ist es der gleiche "Trick" wie bei den "Benutzerdefinierten Aktionen" in Thunar, den ich im Beitrag zu GnuPG vorgestellt habe. Eigentlich hätte ich erwartet, dass dieses Verhalten standardmäßig von Nautilus-Actions unterstützt wird oder sich zumindest unter dem Reiter Ausführung festlegen lässt. Leider funktionierte das so bei mir aber nicht.
Als Pfad trägt man /usr/bin/urxvt oder den für den eigenen Terminal entsprechenden Namen ein und als Parameter dann -e sh -c "gpg -ser 11111111 %f"
Dabei muss für 11111111 natürlich euer GnuPG-Schlüsselwert stehen. Die restlichen Einstellungen kann man für "Verschlüsseln" so belassen. Der Eintrag erscheint dann bei jeder Datei und mit einem Klick darauf wird gpg in rxvt-unicode ausgeführt. Dateien werden sowohl signiert als auch verschlüsselt. %f ist der Platzhalter für die Datei.

Entschlüsseln nur für gpg und pgp Dateien anzeigen

Der Parameter für den Entschlüsseln Eintrag im Reiter Befehl sieht bei mir so aus. -e sh -c "gpg -o %w -d %f"
Dadurch erhält die entschlüsselte Datei auch wieder ihren Originalnamen (%w). Damit der Eintrag nur bei *.pgp und *.gpg Dateien angezeigt wird, müssen unter dem Reiter Basisnamen und MIME-Typen zwei Filter angelegt und die Option "Muss einem entsprechen" bei beiden ausgewählt werden.
Für Basisnamen

*.pgp
*.gpg

Für MIME-Typen

application/pgp
application/gpg

Nützliche Links

Viele vorgefertigte Schemata gibt es auf der Entwicklerseite. Diese lassen sich direkt in Nautilus-Actions importieren. Ebenfalls nützlich ist der Blogeintrag auf upubuntu.com, der Schritt für Schritt mit Bildern zeigt, wie man z.B. den shred-Befehl in das Nautilusmenü einbindet.

Mehr Sicherheit mit GnuPG

Ich habe gestern meinen drei Jahre alten öffentlichen PGP Schlüssel widerrufen und mir ein neues Schlüsselpaar erstellt. Um mir in Zukunft zu merken, welche Konsolenbefehle zum Erstellen des Schlüssels und später zum Ver- und Entschlüsseln notwendig sind, hierzu eine kurze Anleitung.
Es gibt mittlerweile viele gute und vor allem ausführliche Anleitungen zu GNU Privacy Guard, darunter z.B.
http://hp.kairaven.de/pgp/gpg/index.html

Ich persönlich benutze GnuPG hauptsächlich zum Signieren meiner Emails und zum Verschlüsseln von Dateien und Dokumenten, die ich mit Dropbox irgendwo in der Cloud ablege. Zum Widerrufen des öffentlichen Schlüssels habe ich Seahorse benutzt, welches man bei Ubuntu unter System->Einstellungen->Passwörter und Verschlüsselung findet.
Auch das Erstellen des Schlüssels und der Export auf einem Schlüsselserver ist damit bequem zu lösen, im Grunde ist Seahorse nur ein Frontend für GnuPG welches die wichtigsten Funktionen bereitstellt.
Doch mit ein paar Befehlen auf der Kommandozeile geht es natürlich auch zu lösen.

Schlüsselpaar erzeugen
gpg --gen-key

Das folgende interaktive Menü ist ziemlich selbsterklärend. Die Voreinstellungen zum Verschlüsselungsalgorithmus sind sinnvoll, weswegen man nur noch Name, Email und Verfallsdatum der Schlüssel angeben muss.

Öffentliche Schlüssel im Schlüsselring auflisten
gpg --list-keys

Den Schlüssel an einen Schlüsselserver schicken
gpg --send-keys Key-ID
gpg --keyserver hkp://keyserver:port --keyserver-options verbose --send-keys Key-ID

Widerrufzertifikat
gpg --gen-revoke Key-ID > Key-ID.revcert.asc

Einmal auf einen Schlüsselserver hochgeladen, lässt sich der öffentliche Schlüssel nicht mehr ohne den eigenen privaten Schlüssel und das Passwort widerrufen. Deshalb sollte man für alle Fälle sofort ein Widerrufzertifikat erstellen und sicher verwahren.

Nach öffentlichen Schlüsseln auf einem Schlüsselserver suchen
gpg --search-keys "Suchstring"

Eine weitere E-Mail Adresse zu einem Schlüssel hinzufügen
gpg --edit-key Key-ID

adduid eingeben, Name wiederholen und neue E-Mail Adresse hinzufügen und danach mit save abspeichern.

Verschlüsseln und signieren einer Datei mit GnuPG
gpg -ser Key-ID datei

Entschlüsseln
gpg -do datei_output datei_verschlüsselt

Verschlüsseln und Entschlüsseln zum Dateimanager Thunar hinzufügen

Ubuntu integriert das Ver- und Entschlüsseln schon im Dateimanager Nautilus. Wer wie ich z.B. Thunar nutzt kann dies im Menü Bearbeiten->Benutzerdefinierte Aktionen einstellen.
Zwei neue Namen für die Aktionen ausdenken und für Verschlüsseln diesen Befehl schreiben:

Verschlüsseln
urxvtcd -e sh -c "gpg -e -r Key-ID %f"

Entschlüsseln
urxvtcd -e sh -c "gpg -o %n.entschlüsselt -d %f"

Der Terminalemulator urxvt lässt sich natürlich durch jeden anderen ersetzen. %f steht für den Dateinamen und Key-ID muss wie in den vorangegangen Beispielen mit der gewünschten Schlüssel-ID ersetzt werden.
GnuPG ist ein sehr nützliches Werkzeug um seine Dateien sicher auf fremden Cloudservern abzulegen oder sichere Emails zu verschicken. Definitiv ein "Must-have" Programm auf jedem Linuxsystem.