Nedávno jsem vytvořil klíč PGP k podepisování svých závazků a funguje správně. Také jsem zjistil, že gpg se lépe integruje s mým OS. (Kubuntu) než ssh-agent.
Jsem líný a rád bych se vyhnul nutnosti nahrazovat svůj klíč SSH na všech různých serverech, ke kterým mám přístup.
Mám nějakou možnost importovat svůj stávající klíč SSH jako podklíč mého klíče PGP a poté spustit agenta gpg s podporou ssh-agent, takže když spustím ssh something
používá můj podklíč a používá agenta gpg k dotazu na přístupovou frázi?
V ideálním případě poskytnu passhprase pouze jednou, pro můj hlavní klíč PGP, a poté, kdykoli se přihlásím nebo se přihlásím přes ssh, použije ten správný.
Je to možné? (Vím, že mají jiný formát, ale to je opravdu vše, co vím)
Přijatá odpověď:
Vše, co potřebujete:
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
Pak klidně odeberte soubory:mv ~/.ssh/id_rsa.* /path/to/backup
.
Nyní můžete pro testování provést přihlášení SSH.
Koneckonců, nezapomeňte přidat prostředí do svého profilu, například .profile
nebo ~/.bashrc
.
(Ps:Klíč ssh (ve formátu gpg) existuje v ~/.gnupg/private-keys-v1.d/
as názvem keygrip, který lze použít k přidání jako podklíč.
Odkaz:
https://incenp.org/notes/2015/gnupg-for-ssh-authentication.html
https://www.gnupg.org/documentation/manuals/gnupg/Invoking-GPG_002dAGENT.html