Linux gpg-Befehl Datei Verschlüsselung Entschlüsselung Optionen

So verschlüsseln und entschlüsseln Sie Dateien mit dem Linux gpg-Befehl und gängigen Optionen

Auf Linux-Computern und -Servern ist gpg eine der von pgp abgeleiteten Verschlüsselungssoftware, die in zahlreichen Projekten verwendet wird und eine der am häufigsten verwendeten Verschlüsselungssoftware ist. Public-Key-Verschlüsselung ist sicherer als nur durch Passwörter geschützte Dateien oder Archive, daher ist es gut, etwas wie gpg zu verwenden, wenn Sicherheit erforderlich ist.

Shou Arisaka
3 Min. Lesezeit
3. Okt. 2025

Auf Linux-Computern und -Servern ist gpg eine der von pgp abgeleiteten Verschlüsselungssoftware, die in zahlreichen Projekten verwendet wird und eine der am häufigsten verwendeten Verschlüsselungssoftware ist. Public-Key-Verschlüsselung ist sicherer als nur durch Passwörter geschützte Dateien oder Archive, daher ist es gut, etwas wie gpg zu verwenden, wenn Sicherheit erforderlich ist.

Einfache Verschlüsselung mit Passwort

gpg --symmetric doc.txt
# oder
gpg -c doc.txt

Einfache Verschlüsselung mit Passwort (Batch)

gpg -c --batch --passphrase "password" doc.txt

Entschlüsseln passwortgeschützter gpg-Dateien

gpg --decrypt doc.txt.gpg
# oder
gpg -d doc.txt.gpg

Verschlüsselung von tar-komprimierten Dateien

gpg -c --batch --passphrase "password" backup.tar.gz

Generieren von gpg-Schlüsseln (im Folgenden werden aus Gründen der Übersichtlichkeit E-Mail-Adresse und Passwort als {{email}};{{password}} dargestellt)

cat << 'EOT' > gen-key.txt
Key-Type: 1
Key-Length: 2048
Subkey-Type: 1
Subkey-Length: 2048
Name-Real: yuis
Name-Email: {{email}}
Expire-Date: 0
Passphrase: {{password}}
EOT

# mit Passphrase per Eingabeaufforderung
# %ask-passphrase

# mehr Informationen: [GPG Cheat Sheet](http://irtfweb.ifa.hawaii.edu/~lockhart/gpg/)

gpg --batch --gen-key gen-key.txt

# oder interaktiv
# gpg --gen-key

Überprüfen generierter Schlüssel

$ gpg --list-key "yuis <{{email}}>"
pub   2048R/13BF6B9D 2019-08-08
uid                  yuis <{{email}}>
sub   2048R/13206DBB 2019-08-08

$ gpg --export "yuis <{{email}}>" | wc
      6      31    1462
$ gpg --export | wc
     16      88    3833

Dateien verschlüsseln

echo hogehoge > file.txt

gpg --encrypt --recipient '{{email}}' file.txt

Dateien entschlüsseln (lokaler Server)

gpg -d file.txt.gpg
# Passphrase eingeben
hogehoge

Löschen von gpg-öffentlichen und privaten Schlüsseln

gpg --delete-secret-keys "05EDCB38"
gpg --delete-keys "05EDCB38"

# oder in Masse
gpg --delete-secret-and-public-keys 05EDCB38

# oder nach Benutzername
# gpg --delete-secret-and-public-keys test hogehoge

Teilen von gpg-öffentlichen und privaten Schlüsseln - Ausgabe in Datei

gpg --export > public.key
gpg --export-secret-keys > private.key

Teilen von gpg-öffentlichen und privaten Schlüsseln - Import auf Remote-Server

# // Privaten Schlüssel, öffentlichen Schlüssel und file.txt.gpg-Datei auf Remote-Server kopieren

$ gpg --list-keys
$

$ gpg --import ~/rsync/public.key
gpg: key 7D...D8: public key "yuis <{{email}}>" imported
gpg: Total number processed: 1
gpg:               imported: 1

$ gpg --list-keys
/home/yuis/.gnupg/pubring.kbx
-----------------------------
pub   rsa2048 2019-08-08 [SCEA]
      D6...D8
uid           [ unknown] yuis <{{email}}>
sub   rsa2048 2019-08-08 [SEA]

$ gpg --import ~/rsync/private.key
gpg: key 7D...D8: "yuis <{{email}}>" not changed
gpg: key 7D...D8: secret key imported
gpg: Total number processed: 1
gpg:              unchanged: 1
gpg:       secret keys read: 1
gpg:   secret keys imported: 1

Dateien entschlüsseln (Remote-Server)

$ gpg -d ~/rsync/file.txt.gpg
gpg: encrypted with 2048-bit RSA key, ID DF2...66, created 2019-08-08
      "yuis <{{email}}>"
hogehoge

Diesen Artikel teilen

Shou Arisaka 3. Okt. 2025

🔗 Links kopieren