[[Vorlage(Getestet, bionic, focal)]] 

{{{#!vorlage Wissen
[:Terminal: Ein Terminal öffnen]
[:sudo: Root-Rechte erlangen]
}}}
[[Inhaltsverzeichnis()]]

[[Bild(Wiki/Icons/terminal.png, 48, align=left)]]
'''apt-key''' unterstützt den Benutzer bei der Verwaltung der zur Paketverwaltung APT gehörigen Schlüssel. Dabei kennt es verschiedene Kommandos [1], die exakt die Aktion angeben, welche mit dem Schlüsselbund ausgeführt wird.

\\

{{{#!vorlage Warnung
Ab [:Jammy: 22.04] gilt apt-key als '''veraltet''' und soll lediglich zum Entfernen von Schlüsseln durch Maintainerskripte verwendet werden, also nicht mehr durch den Anwender. Zum alternativen Verfahren siehe den Artikel [:apt/Schlüsselverwaltung:]. Eine Nutzung von apt-key zum Hinzufügen von Schlüssel ist ab 22.04 nicht mehr möglich.
}}}

= Übersicht =
||<-2 rowclass="titel"> Kommandos zu apt-key ||
|| [#apt-key-add add] || Hinzufügen eines neuen Schlüssels. ||
|| [#apt-key-del del] || Löschen eines Schlüssels. ||
|| [#apt-key-export export] || Export eines Schlüssels. ||
|| [#apt-key-exportall exportall] || Export aller bekannten Schlüssel. ||
|| [#apt-key-list list] || Ausgabe der bekannten Schlüssel. ||
|| [#apt-key-finger finger] || Ausgabe der Fingerabdrücke der bekannten Schlüssel. ||
|| [#apt-key-adv adv] || Angabe von erweiterten [:GnuPG:gpg]-Optionen. ||
|| [#apt-key-update update] || Neuladen des Hauptschlüssels der aktuellen Version und Löschen abgelaufener Schlüssel. ||

=Kommandos=
==apt-key add==
``add`` fügt dem Schlüsselbund einen neuen Schlüssel hinzu. Dieser kann entweder in einer Datei gespeichert sein oder aus dem `stdin` - einer Weiterleitung der Ausgabe eines vorherigen Befehls - kommen, was dann durch ein ``-`` angezeigt wird. 

{{{#!vorlage befehl
sudo apt-key add DATEI
}}}
oder

{{{#!vorlage befehl
sudo apt-key add -}}}

==apt-key del==
``del`` löscht einen vorhanden Schlüssel aus dem Schlüsselbund. Der zu löschende Schlüssel muss mit seiner `ID` angegeben werden.

{{{#!vorlage befehl
sudo apt-key del ID
}}}

==apt-key export==
`export` gibt einen Schlüssel, der durch seine `ID` bezeichnet wird, auf `stdout` zur Weiterverarbeitung aus. 

{{{#!vorlage befehl
apt-key export ID
}}}

==apt-key exportall==
`exportall` gibt alle derzeit bekannten Schlüssel auf `stdout` aus.

{{{#!vorlage befehl
apt-key exportall
}}}

==apt-key list==
``list`` zeigt alle im Schlüsselbund vorhandenen Schlüssel mit Namen und ID an. Optional kann ein spezieller Schlüssel mit der ID `ID` angezeigt werden.

{{{#!vorlage befehl
apt-key list ID
}}}

==apt-key finger==
``finger`` zeigt den Fingerabdruck aller derzeit bekannten Schlüssel auf `stdout` an.

{{{#!vorlage befehl
apt-key finger
}}}

==apt-key adv==
`adv` erlaubt die Angabe spezieller Parameter für das im Hintergrund arbeitende [:GnuPG:] (gpg). Alle aus gpg bekannten Parameter können angegeben werden. `adv` benötigt die Angabe der zu verarbeitenden Schlüssel-`ID`

{{{#!vorlage befehl
sudo apt-key adv gpg-option ID
}}}

==apt-key update==
`update` lädt die Signaturschlüssel für die zum jeweiligen Release gehörenden Hauptrepositories neu und löscht abgelaufene Schlüssel aus dem Schlüsselbund.

{{{#!vorlage befehl
sudo apt-key update
}}}

= Optionen =
apt-key kennt nur eine Option `--keyring`, mit der ein alternativer Schlüsselbund zur Bearbeitung übergeben werden kann.

= Beispiele =
== add mit wget ==
Schlüssel zu Fremdquellen werden manchmal mit der Fremdquelle zusammen auf dem Webserver des Projekts veröffentlicht. Dann kann man den Schlüssel mit `wget` herunterladen und sofort an die Schlüsselverwaltung übergeben. Im Beispiel wird der Schlüssel für die Paketquelle des Browsers [:Opera:] heruntergeladen:

{{{#!vorlage befehl
wget -O - http://deb.opera.com/archive.key | sudo apt-key add -
}}}

== adv im Einsatz ==
Nutzt man `adv`, kann man alle Optionen, die [:GnuPG:] im Hintergrund benutzt, selbst angeben statt Standardwerte zu benutzen.

{{{#!vorlage befehl
sudo apt-key adv --keyserver PGP_KEY_SERVER --recv-keys ID
}}}
lädt die Schlüssel-ID vom angegebenen Server herunter.

= Links =
 * [:Paketverwaltung/Problembehebung:Problemlösungen] zur Paketverwaltung
 * [https://andre.hemk.es/apt-get-schluesselverwaltung-gpg-error/ GPG Error in der apt-get Schlüsselverwaltung] {de} - Blogbeitrag, 08/2015
 * [:GnuPG:] - Hintergrund der Schlüsselverwaltung
 * [:APT:] {Übersicht} Übersichtsartikel
 * Linuxnews.de: [https://linuxnews.de/2021/04/debian-11-repositories-aus-3-hand-ohne-apt-key-einbinden/ Repositories aus 3. Hand ohne apt-key einbinden]

# tag: System, Shell, Installation, Server, Paketverwaltung, bis-jammy