
Quiero decirle cómo almacenar de forma segura las claves SSH en la máquina local, sin temor a que alguna aplicación pueda robarlas o descifrarlas.
El artículo será útil para aquellos que no han encontrado una solución elegante después de la paranoia en 2018 y continúan almacenando claves en $HOME/.ssh
.
Para resolver este problema, sugiero usar KeePassXC , que es uno de los mejores administradores de contraseñas, utiliza algoritmos de cifrado fuertes y también tiene un agente SSH incorporado.
Esto permite almacenar de forma segura todas las claves directamente en la base de datos de contraseñas y agregarlas automáticamente al sistema cuando se abre. Una vez que la base de datos está cerrada, el uso de claves SSH también será imposible.
En primer lugar, agregaremos el inicio automático del agente SSH al iniciar sesión, para esto, abra ~/.bashrc
en su editor favorito y agregue hasta el final:
SSH_ENV="$HOME/.ssh/environment" function start_agent { echo "Initialising new SSH agent..." /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}" echo succeeded chmod 600 "${SSH_ENV}" . "${SSH_ENV}" > /dev/null }
Entonces necesitamos habilitar el soporte en KeePassXC:
Herramientas -> Opciones -> Agente SSH -> Activar agente SSH

Esto completa la configuración, ahora intente agregar una nueva clave SSH a KeePassXC:
Haga clic en el icono con la clave, luego complete los datos:

Si la clave está protegida con contraseña, proporcione la misma contraseña
En la pestaña Avanzado , cargue el archivo adjunto con nuestro id_rsa :

En la pestaña del agente SSH , tenga en cuenta:
- Agregue una clave al agente al abrir / desbloquear la base de datos
- Eliminar una clave de un agente al cerrar / bloquear una base de datos
A continuación, seleccione nuestra clave ( id_rsa ) en el archivo adjunto
Y haga clic en el botón Agregar al agente :

Ahora, cuando inicie KeePassXC, la clave se agregará automáticamente al agente SSH, por lo que ya no podrá almacenarla en el disco.