Clave pública del tree de origen SSH denegada

Estoy trabajando en un proyecto en un repository privado en https://www.bitbucket.com .

Lo estoy codificando localmente, luego montando, comprometiendo y empujando la actualización del cliente Windows Bit de BitBucket , Sourcetree .

Después de eso, estoy extrayendo los files de un server compartido remoto, que requiere authentication SSH.

He intentado lo siguiente para conectar el git repo con la count de bitbucket:

  1. Lanzó el agente Sourcetree SSH incorporado (Concurso)
  2. Agregué mi .ppk (key privada PuTTY) al concurso usando mi frase de contraseña
  3. Abrí el Terminal SourceTree en la location de mi proyecto, llamémoslo C:/Project .
  4. Usado git init para inicializar el repository.
  5. Usé git push -u origin --all para empujar el repository desde mi computadora a BitBucket.
  6. Tengo este error: Permission denied (publickey).
  7. Traté de ver si puedo ver ssh -Tv git@bitbucket.org – Aún así, Permission denied .

Estoy tratando de averiguar qué salió mal exactamente: ¿ha encontrado mi key SSH? ¿La llave no está cargada en un lugar específico?

Nota: he cargado la key pública en mi perfil en BitBucket.

Para quienes puede tener el mismo problema en Mac con la nueva Sierra. La solución sería agregar una key privada al agente SSH a través de:

 ssh-add -K ~/.ssh/id_rsa 

Parece que la identidad [id_rsa] no persiste en el agente SSH.

Tenga en count que esta no es una solución permanente. Debería hacer eso cada vez que clone un nuevo repository. Al less, entonces, no es necesario proporcionar una key privada para cada inserción remota.

——– Actualización 28.Sep.2017 ——–

Solución permanente (en Sierra):

Pasos:

1- Asegúrate de tener un ssh-agent en ejecución antes de hacer cualquier cosa.

Para verificar si ssh-agent se está ejecutando:

 pgrep 'ssh-agent' 

Ese command devuelve PID (ProcessID) de ese process si se está ejecutando. Si ve un valor … Vaya al Paso # 2. de lo contrario, debe ejecutar ese agente en segundo plano de la siguiente manera:

 eval "$(ssh-agent -s)" 

2- Edición ~/.ssh/config (Crear si no existe):

 Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_rsa 

3- Luego agrega ese agente key (que sería una vez):

 ssh-add -K ~/.ssh/id_rsa 

Eso es.

En realidad, el Paso # 2 es el crucial. Solo quiero brindar una guía completa.

Espero que pueda ayudarte ".

Necesitaba modificar aún más estas configuraciones SourceTree: enter image description here

Sé que esto está resuelto, pero para agregar a la respuesta aceptada, en realidad no necesitas Git Bash para que esto funcione. Como dijo Cupcake, es cierto que PuTTY .ppk files .ppk para keys privadas, lo que no funcionará fuera del context habitual de PuTTY / Pageant.

Esto se debe a que el terminal espera por defecto encontrar un file llamado id_rsa en ~/.ssh y PuTTY no lo genera de manera pnetworkingeterminada. Sin embargo, ssh-keygen Git Bash sí, por lo que la solución de Tom Granot funciona. PUEDE, sin embargo, a través del generador de keys PuTTY, exportar el mismo file exacto a través de la opción Conversions/Export OpenSSH Key... en el menu. Solo asegúrate de nombrarlo id_rsa y que esté junto a tu file id_rsa.pub , y todo debería funcionar bien.

Bueno, he encontrado la solución después de mucho ensayo y error. Aparentemente, usar keygen de PUTTY y almacenar la nueva key pública en mi carpeta .ssh no funciona. Sin embargo, usar ssh-keygen IN GIT BASH y luego tratar de iniciar session usando el nuevo par de keys generado, funciona bien. Por curiosidad, más que nada, me gustaría saber por qué este es el caso.