Git Push con clave SSH

Abdul Jabbar 15 febrero 2024
  1. Generar par de claves SSH
  2. Especifique una clave SSH
Git Push con clave SSH

SSH significa Secure Shell. Es una clave que nos proporciona un certificado de acceso para el protocolo de red SSH.

Proporciona acceso a un servidor remoto entre motores en una red abierta no asegurada. Se utiliza en la transferencia de datos, archivos y administración de redes y brinda acceso a servidores remotos desde el origen.

Cuando un desarrollador desea insertar, extraer o duplicar archivos de forma segura entre la instalación local de Git y el repositorio remoto de Git, lo primero que necesita un desarrollador es crear un par de claves SSH en ese servidor. A través de esta clave, el desarrollador será identificado por ambos y la instalación de Git del desarrollador certificado con el servidor remoto.

Veamos cómo podemos generar un par de claves SSH y luego enviar el trabajo en el estado modificado al repositorio remoto con esta clave SSH. Los siguientes son los detalles de la generación del par de claves SSH:

Generar par de claves SSH

Para crear el par de claves SSH, iremos a Git Bash; después de abrir, usaremos el siguiente comando con nuestra identificación de correo electrónico:

ssh-keygen -t rsa -b 4096 -C "email@test.com"

Ahora, tenemos que ingresar la ubicación del archivo y la frase de contraseña como se le solicita.

git ssh-keygen

Al igual que en la sección anterior, puede ver que, según la entrada de detalles proporcionada, la clave se genera utilizando el método RSA especificado anteriormente. Una vez que se genera la clave, tenemos que usar esta clave y enviar el trabajo necesario al repositorio remoto.

Especifique una clave SSH

A veces, los desarrolladores necesitan otra clave SSH para enviar su trabajo a un repositorio de Git determinado. Como ~/.ssh/id_rsa es una clave de implementación SSH del servidor predeterminada que no permite que el desarrollador envíe un repositorio local en el espacio de trabajo del desarrollador al servidor Git que puede tener un host único.

Para tales escenarios, donde el nombre de usuario y el nombre de host son idénticos, el desarrollador debe designar otra clave SSH y permiso en su ~/.ssh/config. Digamos que la configuración parece como se define a continuación.

Host git-as-anaa
  HostName git.com
  User git
  IdentityFile ~/home/key/xsshfile.thuc
  IdentitiesOnly yes

Host git-as-tomi
  HostName git.com
  User git
  IdentityFile /home/key/sshfile.ten
  IdentitiesOnly yes

Si la configuración es así, el desarrollador solo usará github-as-anaa y github-as-tomi, reemplazando el nombre de host original (git.anaa.com) en su URL.

git remote add anaa git@git-as-anaa:your-repo.git
git remote add tomi git@git-as-tomi:your-repo.git

La opción IdentitiesOnly yes se utiliza para detener el uso de identidades predeterminadas. Por otro lado, si también tenemos archivos de identidad idénticos a los nombres predeterminados, seguramente será preferible probarlos primero porque la opción IdentityFile no es lo mismo que otras opciones de configuración y se adjunta a las listas de identidades para probar.

Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn