Este es un post corto y mas especifico de una distribución, en este caso de Manjaro, que como sabemos tiene de base a Archlinux.
El objetivo de este post es activar el agente de llaves SSH, como podemos encontrar en muchos otros post en internet, podemos agregar unas cuantas lineas a nuestro archivo .bashrc .bash_profile o .zshrc o .zshenv para iniciar el agente de llaves SSH, pero me encontre con la necesidad de interactuar con el agente desde programas gráficos, y algunos de estos no trabajaban con las variables de entorno si lo iniciaba a través de los archivos antes mencionados.
En el caso de Manjaro, sabemos que trabaja con el tan odiado(sigo sin comprender por qué) Systemd, en este caso voy a configurar el agente de llaves para que se inicie con la sesión del usuario, usando systemd/user de ésta forma los programás gráficos trabajan sin problemas con el agente.
Esto lo podemos encontrar en la tan bien documentada wiki de Archlinux https://wiki.archlinux.org/index.php/SSH_keys#SSH_agents
Resumiendo, lo primero que hay que revisar es si el directorio de systemd/user se encuentra creado:
$ cd /home/tuusuario/.config/systemd/user
si nos permite movernos a ese directorio, éste está creado, por el contrario si marca un error, procedemos a crearlo:
$ mkdir -p /home/tuusuario/.config/systemd/user
una vez creado abrimos nuestro editor favorito y creamos el archivo de configuracion de inicio del agente de llaves:
$ nano ~/.config/systemd/user/ssh-agent.service
y añadimos lo siguiente al archivo:
[Unit]
Description=SSH key agent
[Service]
Type=simple
Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK
[Install]
WantedBy=default.target
Una vez añadido, guardamos el archivo, y añadimos esta linea al siguiente archivo (si no lo tenemos creado lo creamos):
$ nano ~/.pam_environment
SSH_AUTH_SOCK DEFAULT="${XDG_RUNTIME_DIR}/ssh-agent.socket"
guardamos el archivo y ahora habilitamos el servicio y lo iniciamos:
$ systemctl --user enable ssh-agent.service
$ systemctl --user start ssh-agent.service
Podemos revisar si el agente está funcionando agregando una llave y revisando si está agregada con el siguiente comando que listará las llaves agregadas:
$ ssh-add -L