Recientemente creé una clave PGP para firmar mis confirmaciones y funciona correctamente. También descubrí que gpg se integra mejor con mi S.O. (Kubuntu) que ssh-agent.
Soy perezoso y me gustaría evitar tener que reemplazar mi clave SSH en todos los servidores a los que tengo acceso.
¿Hay alguna opción para importar mi clave SSH existente como una subclave de mi clave PGP y luego ejecutar gpg agent con soporte ssh-agent para que cuando ejecute ssh something
? usa mi subclave y usa el agente gpg para solicitar la frase de contraseña?
Idealmente, proporciono la frase de contraseña solo una vez, para mi clave PGP principal y luego, cada vez que confirmo o inicio sesión a través de ssh, usa la correcta.
¿Es posible? (Sé que tienen un formato diferente, pero eso es todo lo que sé)
Respuesta aceptada:
Todo lo que necesitas:
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
Entonces siéntete libre de eliminar los archivos:mv ~/.ssh/id_rsa.* /path/to/backup
.
Ahora puede hacer un inicio de sesión SSH para realizar pruebas.
Después de todo, recuerda agregar los Entornos a tu perfil, como .profile
o ~/.bashrc
.
(Ps:Puede encontrar la clave ssh (en formato gpg) en ~/.gnupg/private-keys-v1.d/
y con keygrip como su nombre, que puede usarse para agregarse como una subclave.
Referencia:
https://incenp.org/notes/2015/gnupg-for-ssh-authentication.html
https://www.gnupg.org/documentation/manuals/gnupg/Invoking-GPG_002dAGENT.html