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.
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 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