¿Cómo puedo nhibernate git@example.com con preference a git@tweak.example.com?

Tengo varias counts en una falsificación basada en Git [1], y quiero verificar y gestionar repositorys a través de SSH (no HTTPS). Actualmente hago esto por:

  • creando diferentes files de keys para cada count
  • en mi configuration SSH, creando un host falso por count
  • asignando cada file de key como un IdentityFile al correspondiente host falso
  • realizando tareas de Git con git@fake.example.com en lugar de git@example.com

(Esto sigue los consejos dados aquí en SO y en otros lugares ).

Host id1.example.com Hostname example.com User git IdentityFile ~/.ssh/id_rsa Host id2.example.com Hostname example.com User git IdentityFile ~/.ssh/id_rsa 

Ahora puedo ssh -T git@id1.example.com o ssh -T git@id2.example.com y realizar tareas de Git de manera similar.

Sin embargo, también puedo realizar tareas de Git con git@example.com , que parece estar asociado con mi key id_rsa pnetworkingeterminada. Intenté anular esto de la siguiente manera:

 Host example.com Hostname example.com User git IdentityFile ~/.ssh/none 

… donde ~/.ssh/none es un file de text que contiene text ficticio. Sin embargo, un bash de ssh sigue teniendo éxito, asociado con mi key id_rsa pnetworkingeterminada.

¿Cómo puedo anular este caso para que los bashs fallen, obligándome a usar explícitamente uno de los hosts específicos de la count?

[1] Hasta ahora, sé que esto se aplica a GitHub y BitBucket, pero imagino que aquí hay un principio general en acción.

La forma más sencilla sería eliminar el file id_rsa.key para evitar que SSH encuentre una key de authentication "pnetworkingeterminada".

¡PRECAUCIÓN! ¡Haz una copy de security de ese file! Y por supuesto, mantenga las keys configuradas de IdentityFile . Simplemente no tiene una id_rsa.key en su ~/.ssh .