So melden Sie sich mit GPG-Schlüsseln bei SSH-Servern an

Die Verwaltung der SSH-Anmeldeinformationen ist ein wichtiger Bestandteil des Sicherheitsprotokolls jedes Administrators. Hier zeigen wir Ihnen, wie Sie die Anzahl der zu verwaltenden Schlüssel reduzieren können, indem Sie Ihre SSH-Anmeldeinformationen mit Ihrem GPG-Schlüssel verknüpfen.

Loslegen: erfahren Sie, wie Sie erstmals passwortlose Anmeldungen mit SSH ermöglichen können.

Warum GPG-Schlüssel für die Anmeldung bei SSH verwenden?

Einer der Vorteile der Verwendung von GPG-Schlüsseln für eine SSH-Anmeldung besteht darin, dass sie leicht zwischen Hosts wechseln können. Jedes Betriebssystem verfügt heute entweder über ein GUI- oder CLI-Tool, das mit GPG interagiert. Beispielsweise ist GNU Kleopatra für Linux und Windows verfügbar, und das GnuPG-Tool ist sowohl für Linux als auch für macOS verfügbar.

Ein weiterer Vorteil von GPG-Schlüsseln ist, dass Sie sie im Gegensatz zu SSH-Schlüsseln für eine Vielzahl sicherheitsrelevanter Aufgaben verwenden können. Zusätzlich zu SSH können Sie zusätzliche Unterschlüssel zum Signieren von E-Mails und Verschlüsseln von Dateien generieren. Mit GPG-Schlüsseln können Sie also einen großen Teil Ihres digitalen Lebens in einer Handvoll leicht zu verwaltender, sicherer Bits konsolidieren.

Und schließlich ändert die Verwendung von GPG über SSH keine vorhandene Infrastruktur auf Ihren Remote-Rechnern. Dies liegt daran, dass GPG seinen Authentifizierungsschlüssel in ein „SSH-kompatibles“ Format konvertiert. Infolgedessen können Sie Ihren „SSH-kompatiblen“ öffentlichen GPG-Schlüssel auf einen SSH-Server exportieren und ihn sofort zum Anmelden verwenden.

Als Randnotiz: Erfahren Sie, wie Sie Ihr Github-Konto mit SSH-Schlüsseln sichern können.

Vorbereiten Ihres GPG-Schlüssels für SSH

Der erste Schritt bei der Verwendung von GPG-Schlüsseln auf SSH besteht darin, einen neuen Unterschlüssel zu erstellen. Auf diese Weise können Sie Ihre SSH-Authentifizierungsdetails freigeben, ohne Ihre primäre GPG-Identität zu gefährden.

Öffnen Sie zunächst eine GPG-Eingabeaufforderung für Ihren Hauptschlüssel:

gpg --expert --edit-key IHR-SCHLÜSSEL@EMAIL.ADRESSE

Notiz: Sie können die E-Mail-Adresse für Ihren Hauptschlüssel finden, indem Sie den Inhalt Ihres Schlüsselbunds auflisten: gpg --list-keys.

Geben Sie „addkey“ in die GPG-Eingabeaufforderung ein, wählen Sie „8“ und drücken Sie dann die Eingabetaste.

Setzen Sie die Funktion Ihres Unterschlüssels auf „=A“ und drücken Sie dann die Eingabetaste.

Geben Sie bei der Eingabeaufforderung für die Schlüsselgröße „4096“ ein und drücken Sie dann die Eingabetaste.

Legen Sie eine angemessene Gültigkeitsdauer für Ihren Unterschlüssel fest. In meinem Fall gebe ich „1y“ ein, damit mein neuer Unterschlüssel nur ein Jahr gültig ist.

Erstellen Sie Ihren neuen GPG-Unterschlüssel, indem Sie „y“ eingeben und dann in der Bestätigungsaufforderung des Assistenten die Eingabetaste drücken.

Geben Sie „quit“ ein und drücken Sie dann die Eingabetaste, um die GPG-Eingabeaufforderung zu verlassen.

Bestätigen Sie, dass Ihr neuer Unterschlüssel ordnungsgemäß funktioniert, indem Sie die Details Ihres Hauptschlüssels abrufen:

gpg --list-keys IHR-SCHLÜSSEL@EMAIL.ADRESSE

Aktivieren der SSH-Unterstützung in GPG

Wenn Ihr Unterschlüssel aktiv ist, können Sie nun Ihren SSH-Daemon so konfigurieren, dass er eingehende GPG-Agent-Anfragen akzeptiert. Fügen Sie dazu „enable-ssh-support“ an die Datei „gpg-agent.conf“ Ihres aktuellen Benutzers an:

echo "ssh-unterstützung aktivieren" >> ~/.gnupg/gpg-agent.conf

Öffnen Sie Ihre „.bashrc“-Datei mit Ihrem bevorzugten Texteditor:

Fügen Sie die folgenden Codezeilen am Ende Ihrer .bashrc-Datei ein:

export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)br>gpgconf --launch gpg-agent

Speichern Sie Ihre Bashrc-Datei und drucken Sie dann den Keygrip Ihres Unterschlüssels aus:

gpg --list-keys --with-keygrip

Kopieren Sie den Keygrip Ihres Unterschlüssels und erstellen Sie dann eine „sshcontrol“-Datei im Verzeichnis .gnupg:

Fügen Sie den Keygrip Ihrer Identität in die neue Datei ein und speichern Sie sie.

Wenden Sie Ihre neue SSH- und GPG-Konfiguration an, indem Sie Ihre Bashrc-Datei in der aktuellen Terminalsitzung neu laden:

Testen Sie, ob Ihr SSH-Daemon jetzt ordnungsgemäß funktioniert, indem Sie seinen öffentlichen SSH-Schlüssel auflisten:

Exportieren und Testen Ihres GPG-Schlüssels

An diesem Punkt verfügen Sie nun über einen SSH-Daemon, der ordnungsgemäß mit Ihrem GPG-Agenten verknüpft ist. Um ihn zu verwenden, generieren Sie den SSH-Exportschlüssel mit dem folgenden Befehl:

gpg --ssh-export-key IHR-SCHLÜSSEL@EMAIL.ADRESSE > ~/autorisierte_Schlüssel

Legen Sie die Berechtigungsbits des Exportschlüssels so fest, dass sie nur vom Benutzer gelesen und geschrieben werden können:

chmod 600 ~/autorisierte_schlüssel

Senden Sie Ihre neue authorized_keys-Datei mit scp an Ihren Remote-Server:

scp ~/authorized_keys IHRE-REMOTE.SERVER.DOMAIN:~/.ssh/authorized_keys

Melden Sie sich bei Ihrem Remote-Server an und starten Sie dann den SSH-Daemon neu, um Ihren neuen Schlüssel anzuwenden:

sudo systemctl ssh.service neu starten

Drücken Sie Strg + D und melden Sie sich dann wieder bei Ihrem Remote-SSH-Server an. Daraufhin sollte eine neue Eingabeaufforderung angezeigt werden, in der Sie nach dem Kennwort Ihres Haupt-GPG-Schlüssels gefragt werden.

Das Verknüpfen Ihres GPG-Schlüssels mit Ihrem SSH-Daemon und das Exportieren auf einen Remote-Server sind nur einige der Dinge, die Sie mit SSH tun können. Entdecken Sie, was Sie mit dieser wunderbaren Software tun können, indem Sie SSH mit UNIX-Pipes unter Linux verwenden.

rivage über Unsplash. Alle Änderungen und Screenshots von Ramces Red.

Index
  1. Warum GPG-Schlüssel für die Anmeldung bei SSH verwenden?
  2. Vorbereiten Ihres GPG-Schlüssels für SSH
  3. Aktivieren der SSH-Unterstützung in GPG
  4. Exportieren und Testen Ihres GPG-Schlüssels

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Go up