No puedo SSH en mi repository Bitbucket – conq: acceso al repository denegado

He seguido un millón de guías con respecto a esto y no puedo hacer que funcione. Anteriormente, presioné con éxito a través de SSH a mi repository privado Bitbucket git, ahora de repente no funcionará.

He recreado las keys con una nueva frase de contraseña, la he agregado a mi configuration de Bitbucket y no funcionará.

De acuerdo, aquí están los pasos que tomé:

  1. Par de keys antiguas eliminadas (proyecto1 y proyecto1.pub)
  2. Lo recreé con este command ssh-keygen -f ~/.ssh/project1 -C "project1"
  3. Creé una config en el file ~/.ssh para mis dos counts de Bitbucket, con los siguientes contenidos:

Host project1 HostName bitbucket.org IdentityFile ~/.ssh/project1 Host project2 HostName bitbucket.org IdentityFile ~/.ssh/project2

  1. Agarró los contenidos de project1.pub y creó una nueva input de key SSH en mi count de Bitbucket.
  2. Se agregó ssh-agent en mi list de complementos ~/.zshrc siguiente manera: plugins=(git ssh-agent) y reinicié Terminal
  3. ¿Se cargó ssh-add -l y solo se vio project2
  4. ¿ ssh-add ~/.ssh/project1 , ssh-add ~/.ssh/project1 mi contraseña y éxito, así:

2048 SHA256:THESHA256 /Users/myuser/.ssh/project2 (RSA) 2048 SHA256:THESHA256 /Users/myuser/.ssh/project1 (RSA)

  1. Reinició Terminal e hizo ssh-add -l y enumeró ambas inputs
  2. Fui a mi proyecto y git push y me dijo que no tenía acceso.

Cuando hago ssh -T git@bitbucket.com , me dice que estoy conectado con el nombre de usuario de project2 .

inició session como project2_user.

Mi sistema es OS X 10.11.5

Nunca pude arreglar múltiples identidades en mi computadora y siempre usé HTTPS, pero necesito hacer que todo sea más seguro con SSH, lo que también permite que mi count tenga authentication de dos factores. Por lo tanto, ahora es imprescindible usar SSH y no sé qué hacer.

PD: Hice también los pasos para crear la identidad para project2 , pero estoy bastante seguro de que tampoco funciona.


Guía que seguí:

https://confluence.atlassian.com/bitbucket/configure-multiple-ssh-identities-for-gitbash-mac-osx-linux-271943168.html


EDITAR

project2 no tiene frase de contraseña, ¡mientras que project1 lo hace! Solo pensé que tal vez esto sea relevante.

EDIT 2

Hice ssh-add -D para eliminar todas las keys cargadas, luego agregué la key para project1 , ingresé la frase de paso y presioné . Funcionó. Pero ahora mi otra identidad no funciona porque su key no está cargada.

¿Por qué mis múltiples identidades no funcionan?

Si diferentes repositorys en el mismo host remoto requieren el uso de diferentes identidades SSH, entonces debe usar alias SSH.

Compruebe que remote.origin.url tenga los siguientes valores (o equivalentes) en sus repositorys locales:

  • project1 : git@bitbucket.org:accountX/project1.git
  • project2 : git@bitbucket.org:accountY/project2.git

accountX puede ser su count asociada con su primera identidad en Bitbucket (es decir, project1_user ) u otra count que haya otorgado acceso a project1_user a su repository project1 . Lo mismo project2 para project2 .

Ahora, cuando git tenga que conectarse al repository remoto desde su repository local, primero tendrá que conectarse al server remoto, y el último para sus dos proyectos se configura en bitbucket.org . Entonces, ¿cómo sabe Git qué identidad de SSH usar? Selecciona una identidad asociada con bitbucket.org .

Actualice su configuration de remote.origin.url siguiente manera:

  • proyecto1 : git@project1:accountX/project1.git
  • proyecto2 : git@project2:accountY/project2.git

Luego, cuando se le dice a git que se conecte a git@project1 , resuelve project1 a la input correspondiente en ~/.ssh/config y usa la identidad especificada en el mismo. Del mismo modo para project2 .

Basándome en mi experiencia, puede ahorrar mucho time y esfuerzo al usar HTTPS en esta circunstancia.

No tendría éxito con múltiples identidades SSH hace unos meses.