SourceTree siempre Permiso denegado (clave pública)

4 minutos de lectura

Avatar de usuario de Frankie_0927
Frankie_0927

Uso soureTree para clonar el proyecto ssh.

  1. ya he creado la clave ssh
  2. ya configuré la configuración de la clave gitlab ssh
  3. tengo ssh-añadir “mysshkey”
  4. tengo ssh-add -K ‘mysshkey’

cuando imprimo ssh -T, puedo hacerlo correctamente en la línea de comandos. cuando git clone, tire, empuje en formas ssh … Todavía funciona en la línea de comando. (Terminal)

pero en sourcetree todavía recibe un error ahora:

Permission denied (publickey)

¿Cómo puedo resolverlo?

Descargué SourceTree 2.7.6 y encontré el mismo problema. Creo que @Frankie_0927 tiene razón, la clave privada debe llamarse id_rsa y debe estar registrada en el agente ssh.

para otras personas que encontraron este problema: intente generar un par de claves siguiendo las instrucciones en el siguiente enlace:
https://help.github.com/articles/conexión-a-github-con-ssh/
almacene la clave privada id_rsa en ~/user/SU NOMBRE DE USUARIO/.ssh (ruta para mac) y publique la clave pública en la cuenta de github. entonces corre

ssh-add -l

ya verás

The agent has no identities.

entonces corres

ssh-add -K ~/.ssh/id_rsa

para agregar la clave en el agente ssh. después de esto, corre

ssh-add -l

nuevamente, verá que se agrega la clave y el problema debe resolverse.

  • respuesta muy directa e impresionante. Gracias

    – NaXir

    4 de mayo de 2021 a las 9:04

Avatar de usuario de Saige Zhang
Saige Zhang

Está recibiendo este mensaje porque no pudo autenticarlo con ninguna de las claves que le ofreció su agente SSH. Para verificar que este es el caso, haga lo siguiente:

ssh -T 

Esto intentará crear una conexión para Mercurial. Debería recibir una respuesta similar a la siguiente si su clave se cargó correctamente.

Si no ve un mensaje, esto puede deberse a un par de factores, pero estos son los más comunes:

– Tu clave pública no está cargada

Para verificar si su clave pública está cargada, haga lo siguiente:

  1. Abre un navegador e inicia sesión en Origin.

  2. Aparecerá la página Claves SSH. Muestra una lista de las claves existentes.

  3. Si no tiene ninguna clave en la lista, configure una.

– Su identidad no está cargada en su Agente SSH

Si su agente SSH no sabe ofrecer una clave, la conexión fallará. Para averiguar qué claves ofrece actualmente su agente de SSH y agregarlas, haga lo siguiente:

$ ssh-add -l

Luego, si no ve su clave en la lista, agréguela

ssh-add ~/.ssh/identity

Para obtener más información, consulte nuestra guía completa de solución de problemas de SSH.

– No tiene permiso para crear el repositorio en su sistema de archivos local

Si obtiene el error “Permiso denegado”, también es posible que git o mercurial no tengan permiso para crear la carpeta del proyecto localmente. Verifique los permisos para el directorio donde está intentando desproteger el proyecto y asegúrese de tener acceso de escritura.

1   Right click and "Run as Administrator".
2   Type ssh-keygen
3   Press enter.
4   It will ask you to save the key to the specific directory.
5   Press enter. It will prompt you to type password or enter without password.
6   The public key will be created to the specific directory.
7   Now go to the directory and open .ssh folder.
8   You'll see a file id_rsa.pub. Open it on notepad. Copy all text from it.
9   Go to https://gitlab.com/profile/keys .
10  Paste here in the "key" textfield.
11  Now click on the "Title" below. It will automatically get filled.
12  Then click "Add key".

Encontré que dentro de /var/log/gitlab/sshd/current hubo múltiples ocurrencias de un mensaje: Autenticación rechazada: mala propiedad o modos para el archivo /var/opt/gitlab/.ssh/authorized_keys Después de lo cual cambié la propiedad de ese archivo de 99:usuarios a git:usuarios con: chown git:usuarios autorizados_claves

  • gracias, pero creo que su sugerencia no funciona para mí, todos los pasos que intento, pero aún no funcionan

    – Frankie_0927

    2 de agosto de 2018 a las 10:01

  • gracias, reescribí mi clave ssh de id_rsa, y funciona, creo, sourceTree predeterminado lee este nombre de clave, pero no sé cómo cambiar el nombre de clave actual por defecto

    – Frankie_0927

    3 de agosto de 2018 a las 3:12

  • Gracias. Tenía múltiples identidades ssh y la apropiada no estaba cargada con ssh-add. Ejecutó el comando agregar, luego Sourcetree empuja nuevamente (aunque sourcetree siempre “tenía” la clave privada cargada).

    – Cai

    8 de diciembre de 2020 a las 8:52

  • ¡Esto funciono muy bien para mi! El agente ssh no tenía ninguna identidad, razón por la cual se producía el error.

    – Keshav

    27 de junio a las 6:00

Pude solucionarlo agregando mi clave github al llavero de Apple:

ssh-add --apple-use-keychain ~/.ssh/id_ed25519

  • ¡estupendo! Funcionó. en mi caso, la clave era diferente, que fue generada por Sourcetree. así que en lugar de “id_ed25519”, seleccioné mi clave y funcionó

    –Saurabh Prajapati

    15 de abril a las 7:25


Sourcetree usa la clave SSH en la carpeta /User/YOURNAME/.ssh/id_rsa para trabajar con el servidor remoto Git.

Si genera una clave en otra carpeta, la clave solo es válida en la terminal que ejecuta eval "$(ssh-agent -s)" & ssh-add. Además, deja de ser válido una vez que se cierra el terminal.

¿Ha sido útil esta solución?