una servidor repositorio remoto que pudo publickey publica permission llave leer instalar fatal clave git ssh bitbucket

servidor - ssh linux github



Clave pública del árbol de origen SSH denegada (5)

Estoy trabajando en un proyecto en un repositorio 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 archivos de un servidor compartido remoto, que requiere autenticación SSH.

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

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

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

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


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


Esto me sucedió después de actualizar mi Sourcetree en mi Mac. Lo que funcionó para mí fue simplemente eliminar todo en la carpeta ~/.ssh/ excepto las carpetas .config y known_hosts . Luego simplemente vaya a sourcetree bajo preferencias, elimine su cuenta github, vuelva a agregar el perfil nuevamente después de eliminar todas las .ssh públicas y privadas .ssh y sourcetree debería volver a agregar las claves localmente y a GitHub


Necesitaba modificar aún más estas configuraciones SourceTree:


Para quienes puede tener el mismo problema en Mac con la nueva Sierra. La solución sería agregar una clave 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 cuenta que esta no es una solución permanente. Debería hacer eso cada vez que clone un nuevo repositorio. Al menos, entonces, no es necesario proporcionar una clave 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 comando devuelve PID (ProcessID) de ese proceso 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 como su ):

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

3- Luego agrega ese agente clave (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 ".


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 archivos .ppk para claves privadas, lo que no funcionará fuera del contexto habitual de PuTTY / Pageant.

Esto se debe a que el terminal espera por defecto encontrar un archivo llamado id_rsa en ~/.ssh y PuTTY no lo genera de manera predeterminada. 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 claves PuTTY, exportar el mismo archivo exacto a través de la opción Conversions/Export OpenSSH Key... en el menú. Solo asegúrate de nombrarlo id_rsa y que esté junto a tu archivo id_rsa.pub , y todo debería funcionar bien.