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

Importieren Sie den SSH-Schlüssel als Gpg-Unterschlüssel zur Verwendung für die SSH-Authentifizierung?

Ich habe kürzlich einen PGP-Schlüssel erstellt, um meine Commits zu signieren, und er funktioniert ordnungsgemäß. Ich habe auch festgestellt, dass sich gpg besser in mein Betriebssystem integriert. (Kubuntu) als ssh-agent.

Ich bin faul und möchte vermeiden, dass ich meinen SSH-Schlüssel auf allen verschiedenen Servern ersetzen muss, auf die ich Zugriff habe.

Gibt es eine Option für mich, meinen vorhandenen SSH-Schlüssel als Unterschlüssel meines PGP-Schlüssels zu importieren und dann gpg agent mit ssh-agent-Unterstützung auszuführen, damit ich ssh something ausführe Es verwendet meinen Unterschlüssel und den GPG-Agenten, um nach der Passphrase zu fragen?

Idealerweise gebe ich die Passhprase nur einmal für meinen PGP-Hauptschlüssel an, und dann, wenn ich mich über ssh anmelde oder übergebe, wird die richtige verwendet.

Ist es möglich? (Ich weiß, dass sie unterschiedliche Formate haben, aber das ist wirklich alles, was ich weiß)

Akzeptierte Antwort:

Alles, was Sie brauchen:

export GPG_TTY=$(tty)
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
ssh-add -c -t 3600 ~/.ssh/id_rsa   # set the cache lifetime as 3600s

Dann können Sie die Dateien gerne entfernen:mv ~/.ssh/id_rsa.* /path/to/backup .

Jetzt können Sie sich zum Testen per SSH anmelden.

Denken Sie schließlich daran, die Umgebungen zu Ihrem Profil hinzuzufügen, z. B. .profile oder ~/.bashrc .

(Ps:Sie finden den ssh-Schlüssel (im gpg-Format) in ~/.gnupg/private-keys-v1.d/ und mit keygrip als Namen, der als Unterschlüssel hinzugefügt werden kann.

Referenz:

https://incenp.org/notes/2015/gnupg-for-ssh-authentication.html

https://www.gnupg.org/documentation/manuals/gnupg/Invoking-GPG_002dAGENT.html


Linux
  1. Wie verwendet man Ssh-Copy-ID mit Multiple-Hop-SSH-Tunnel?

  2. Wie verwende ich Sftp auf einem System, das Sudo für Root-Zugriff und SSH-Schlüssel-basierte Authentifizierung benötigt?

  3. So verwenden Sie den Befehl ssh-keygen, um passwortloses ssh zu konfigurieren

  4. So verwenden Sie den Befehl ssh-keygen unter Linux

  5. Kann ich die SSH-Schlüsselauthentifizierung verwenden, um mich mit einem anderen Benutzernamen bei einem Remote-System anzumelden?

So verwenden Sie die Public-Key-Authentifizierung mit SSH

Deaktivieren Sie die SSH-Passwortauthentifizierung für bestimmte Benutzer oder Gruppen

So richten Sie die Multi-Faktor-Authentifizierung für SSH unter Linux ein

So verwenden Sie einen SSH-Schlüssel mit Nicht-Root-Benutzern

Wie richte ich die ssh-schlüsselbasierte Authentifizierung für Github mithilfe der Datei ~/.ssh/config ein?

SSH-Zugang für cPanel