Skip to content
Code and Bytes

Code and Bytes

Usar una Deploy Key diferente para cada repositorio en un mismo servidor

Posted on 18 July, 2026 By jaime

Cuando un servidor necesita acceder a varios repositorios privados de GitHub, una buena práctica es utilizar una Deploy Key independiente para cada repositorio, en lugar de compartir la misma llave SSH entre todos.

Este enfoque ofrece varias ventajas:

  • Mayor seguridad.
  • Permite revocar el acceso a un único repositorio sin afectar a los demás.
  • Facilita la administración de permisos.
  • Sigue las recomendaciones de GitHub para Deploy Keys.

En este artículo veremos cómo configurar una llave SSH distinta para cada repositorio.

1. Generar una nueva llave SSH

Genera una llave con un nombre que identifique claramente el repositorio.

ssh-keygen -t ed25519 -C "nombre-del-repositorio" -f ~/.ssh/nombre-del-repositorio

Ejemplo de archivos generados:

~/.ssh/nombre-del-repositorio
~/.ssh/nombre-del-repositorio.pub
  • Llave privada: nombre-del-repositorio
  • Llave pública: nombre-del-repositorio.pub

2. Agregar la llave pública como Deploy Key

Abre el repositorio en GitHub y navega a:

Settings
└── Deploy keys
    └── Add deploy key

Copia el contenido del archivo público:

cat ~/.ssh/nombre-del-repositorio.pub

Pega el contenido en GitHub.

Si el servidor solo necesita clonar el repositorio, no habilites la opción Allow write access.


3. Configurar SSH

Edita (o crea) el archivo de configuración de SSH:

nano ~/.ssh/config

Agrega una entrada para este repositorio:

Host github-nombre-del-repositorio
    HostName github.com
    User git
    IdentityFile ~/.ssh/nombre-del-repositorio
    IdentitiesOnly yes

¿Qué significa cada opción?

  • Host: Alias que utilizará Git.
  • HostName: Servidor real de GitHub.
  • User: Siempre será git.
  • IdentityFile: Ruta de la llave privada.
  • IdentitiesOnly yes: Obliga a SSH a utilizar únicamente esa llave.

4. Verificar la conexión

Puedes comprobar que la configuración funciona correctamente:

ssh -T git@github-nombre-del-repositorio

Si todo está correcto, GitHub responderá con un mensaje similar a:

Hi <usuario>! You've successfully authenticated...

5. Clonar el repositorio

En lugar de utilizar github.com, utiliza el alias definido anteriormente.

git clone git@github-nombre-del-repositorio:usuario/repositorio.git

A partir de ese momento todas las operaciones (clone, pull, fetch, push, etc.) utilizarán automáticamente la llave correspondiente.

DevOps

Post navigation

Previous post

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Buscar

Categorias

  • AI
  • Asterisk
  • Bases de datos
  • DevOps
  • Git
  • HTML
  • Laravel
  • Linux
  • MCP Server
  • Mikrotik
  • MySQL
  • n8n
  • Personal
  • PHP
  • Python
  • Software recomendado
  • Tips
  • VSCode
  • vTiger
  • Windows
  • Wordpress
©2026 Code and Bytes | WordPress Theme by SuperbThemes