Ejecutar múltiples inicios de sesión git ssh a través de Terminal

Recientemente configuré una clave SSH para la cuenta de Bitbucket, que funciona muy bien. Pero también tengo otros repositorys de git como Github, GitLab (no ssh en este momento) y vine a ingresar a una de esas otras cuentas y creo que el Terminal usó mis teclas bitbucket ssh de manera predeterminada.

Entonces, ¿cómo puedo forzar a Terminal Server para que me permita iniciar sesión con un nombre de usuario y contraseña cuando uso un repository de github, o permitirme elegir qué teclas ssh usar, por ejemplo, que configuré las claves para Gitlab y Github?

Hay diferentes maneras de lograr esto.

  1. Podrías usar la misma clave para todos tus repositorys de git.

  2. podría usar diferentes claves y especificar cuál utilizar cuando inicie sesión en un sistema remoto:

    $ ssh -i ~/.ssh/bitbucket-key user@host $ ssh -i ~/.ssh/gitlab-key user@host 

-i identidad_archivo

Selecciona un archivo desde el cual se lee la identidad (clave privada) para la autenticación de clave pública. El valor predeterminado es ~ / .ssh / id_dsa, ~ / .ssh / id_ecdsa, ~ / .ssh / id_ed25519 y ~ / .ssh / id_rsa. Los archivos de identidad también se pueden especificar para cada host en el archivo de configuración. Es posible tener múltiples opciones -i (y múltiples identidades especificadas en los archivos de configuración). Si la directiva CertificateFile no ha especificado explícitamente ningún certificado, ssh también intentará cargar la información del certificado del nombre de archivo obtenido al anexar -cert.pub a los nombres de archivo de identidad.

Yo crearía un par de claves para cada repository de git, luego en Bitbucket cargaría la clave al sitio web de Bitbucket. Gitlab y Github funcionan de la misma manera.

Una vez que haya cargado su clave en su repository, es suficiente con git push sin necesidad de especificar su clave.