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é:
ssh-keygen -f ~/.ssh/project1 -C "project1"
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
project1.pub
y creó una nueva input de key SSH en mi count de Bitbucket. ssh-agent
en mi list de complementos ~/.zshrc
siguiente manera: plugins=(git ssh-agent)
y reinicié Terminal ssh-add -l
y solo se vio project2
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)
ssh-add -l
y enumeró ambas inputs 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:
git@bitbucket.org:accountX/project1.git
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:
git@project1:accountX/project1.git
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.