Iagovar - Configurar clave SSH en servidor Debian para trabajar con Github

Configurar clave SSH en servidor Debian para trabajar con Github

Evita el uso del SSH Agent y rodeos con Systemd

Tengo un flujo de trabajo que consiste en:

  1. Desarrolo en mi escritorio/portátil.

  2. Push a repo en github.

  3. Consolidación de cambios en github.

  4. Pull en servidor Debian.

Configurando las claves

En la documentación de debian te indican los siguientes pasos:

  1. Crea tu par de claves: Generas tu clave con el email que usas para tu usuario de github.

    En mi caso la he llamado github_id_ed25519 porque tengo varias. Veremos que esto va a causar problemas más adelante.

  2. Añade tu clave al agente de SSH: Siguiendo los pasos, arrancas el agente y le añades la clave que has creado, github_id_ed25519 en mi caso.

  3. Añade la clave pública a tu cuenta de Github: Básicamente para que el hadshake sea posible.

¿Cual es el problema?

El problema es que Debian por defecto cerrará el agente ssh cada vez que cierres sesión, lo que implica que deberías arrancarlo cada vez, y además no reconocerá una clave que no tenga un nombre por defecto, lo que hace el flujo de trabajo engorroso.

Si buscas por Internet verás que hay varios métodos de solucionar esto, casi todos implican el uso de systemd.

Sin embargo el más sencillo me lo dió un usuario de Reddit, que consiste en añadir la clave a la configuración local del repo que quieres usar.

  1. Te colocas en el directorio donde tienes el repositorio.

  2. git config --local core.sshCommand "/usr/bin/ssh -i /home/iagovar/.ssh/github_id_ed25519".

  3. Si hubiese cualquier problema, puedes listar toda la configuración del repo con git config -list.

Ahora, cada vez que hagas un pull, el repo usará esa clave automáticamente, o te preguntará por el passphrase si has puesto una.