Introducción
Supongamos que tiene una cuenta y un proyecto personales de GitHub. Está trabajando en una máquina y tiene varios proyectos, algunos de los cuales desea enviar a su cuenta personal o viceversa. Aquí es donde puede usar las claves SSH para que no tenga que volver a ingresar su nombre de usuario y contraseña para identificarse. Lo que haces es generar una clave SSH. Cuando haces eso, obtienes un par, uno público y el otro privado. El público es lo que le proporcionas a GitHub y el privado permanece en tu computadora. Los cambios realizados solo se permitirán cuando las claves coincidan.
Sin más preámbulos, estos son los pasos para agregar claves SSH a su GitHub.
- Navegue al directorio donde desea transferir los cambios a otra cuenta de GitHub.
- Cree una nueva clave SSH en su terminal / línea de comando
En Windows utilizo el siguiente comando:
ssh-keygen -t rsa -C “your-email-address”
- -t significa " tipo " y rsa es el tipo de cifrado
- -C significa comentario
Entonces se mostrará lo siguiente:
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/your_username/.ssh/id_rsa):
Copie y pegue la ruta seguida de un nombre identificable para el archivo:
/c/Users/your_username/.ssh/id_rsa_IDENTIFIABLE_NAME_HERE
Para este tutorial lo llamé prueba:
/c/Users/your_username/.ssh/id_rsa_test
Asegúrese de no sobrescribir id_rsa ya que esta es su clave existente para su cuenta original.
Luego te preguntará lo siguiente:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Presiona " Enter " dos veces para dejarlo en blanco.
Ahora puede escribir el siguiente comando para ver todas las claves SSH que tiene en su computadora local:
ls -al ~/.ssh
- ls enumera todos los archivos en el directorio actual
- a es enumerar todos los archivos, incluidos los ocultos
- l es para listar en un formato largo
A continuación, debería obtener algo como esto:
total 46
drwxr-xr-x 1 your_username 1049089 0 Jan 26 10:40 .
drwxr-xr-x 1 your_username 1049089 0 Jan 23 12:12 ..
-rw-r--r-- 1 your_username 1049089 3326 Nov 30 11:21 id_rsa
-rw-r--r-- 1 your_username 1049089 748 Nov 30 11:21 id_rsa.pub
-rw-r--r-- 1 your_username 1049089 1675 Jan 26 10:40 id_rsa_test
-rw-r--r-- 1 your_username 1049089 399 Jan 26 10:40 id_rsa_test.pub
-rw-r--r-- 1 your_username 1049089 803 Nov 30 12:08 known_hosts
Debería poder ver su nuevo archivo de clave SSH. Como puede ver en el mío, tengo id_rsa_test e id_rsa_test.pub .
id_rsa_test es su clave privada almacenada en su computadora, mientras que id_rsa_test.pub es la clave pública que proporcionará a GitHub .
A continuación, debe copiar la clave SSH que está almacenada en el archivo id_rsa_test.pub . Puede abrirlo en el editor de texto de su elección. Actualmente uso atom, así que abrí el archivo usando el siguiente comando:
atom ~/.ssh/id_rsa_test.pub
A continuación, obtendrá algo como esto:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEmSbc7ms4SNIf7G0e9EqdrQRTB17VFTqRtCbQ55sSc11xZP5B07UXf9+................a955cf1GUzsNIr60E7VuVxirrr+K2WcleqifnDEg1H/VbyJtEekh4Aav9csBwemTz3 [email protected]
La clave es en realidad más larga, pero la he acortado por el bien de este tutorial.
Copie esto y vaya a su cuenta de GitHub → Configuración → Claves SSH y GPG .
Haga clic en Nueva clave SSH .
Asigne un título a su nueva clave y luego pegue la nueva clave SSH generada que copió anteriormente. Es una buena idea dar a las llaves el nombre del coche de donde proceden.
Si está en una Mac / Linux, también debería poder agregar esta clave en su terminal usando el siguiente comando:
ssh-add ~/.ssh/id_rsa_test
Sin embargo, dado que estoy usando una máquina con Windows, tuve que crear un comando SSH. Puede hacer esto escribiendo lo siguiente directamente en la línea de comando:
git config core.sshCommand=ssh -i ~/.ssh/id_rsa_test
o puede hacer esto abriendo el archivo de configuración git en su editor de texto favorito:
git config -e
Su archivo de configuración de git local debería verse así:
Agregue sshCommand = ssh -i ~/.ssh/id_ra_test
a la sección [principal] de la lista.
Nota: Si desea que el comando git config -e
abra su archivo en el editor de texto de su elección, debe tenerlo configurado globalmente . El mío se abrió en Vim ya que este es el predeterminado. Puede anularlo con el siguiente comando:
git config --global core.editor "atom --wait"
Aquí se pueden encontrar otros comandos del editor .
Configure su repositorio para que se envíe a GitHub con la cuenta asociada
También debe cambiar el correo electrónico y el nombre del usuario para conectarse a la cuenta de GitHub con la que desea asociar el repositorio. Puede cambiarlo en el archivo de configuración mientras lo tiene abierto:
Alternativamente, también puede hacerlo a través de la línea de comando:
git config user.name "test"
git config user.email [email protected]
Ahora debería poder confirmar y enviar a la cuenta correcta.
git init
git add .
git commit -m "First commit"
git remote add origin [email protected]:your_username/test.git
git push origin master
Conclusión
En este tutorial hemos visto cómo tener 2 o más cuentas de GitHub en una máquina.