mac generate git github ssh ssh-keys ssh-agent

generate - No se puede enviar al repositorio de git: permiso denegado



generate ssh key windows git (7)

Debes hacerlo en tu consola ( si usas un cliente masty de ssh ):

  1. Genera las claves, si las claves no existen:

    cd ~/.ssh && ssh-keygen -lf ~/.ssh/id_rsa.pub

¡No olvide la contraseña, ingresada en este paso!

  1. Envía tu clave pública a la pantalla:

    cd ~/.ssh && cat id_rsa.pub

  2. Copie esta cadena haciendo clic y mueva el puntero del mouse desde la salida hasta el final. No es necesario presionar Ctrl + V o más teclas.

  3. Inicie sesión en su cuenta en GitHub y agregue esta clave pública a https://github.com/settings/ssh

  4. Ahora puedes usar tu git localmente.

Tengo un siguiente problema:

$ git push -u origin master Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

Ya he comprobado la conexión al hacer esto:

$ ssh -vT [email protected]

y la salida se ve bien, fui autenticado correctamente.

Mientras comprobaba más, noté que:

$ ssh-add -l The agent has no identities.

He intentado ejecutar ssh-agent, pero nada ha cambiado:

$ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-A1mhFqvqncuO/agent.766; export SSH_AUTH_SOCK; SSH_AGENT_PID=767; export SSH_AGENT_PID; echo Agent pid 767; $ ssh-add -l Could not open a connection to your authentication agent.

Estoy usando Arch Linux. ¡Cualquier ayuda sería muy apreciada! ¡Gracias por adelantado!

Ayuda de diagnóstico de Github aquí.


En mi caso, tuve este problema con GitLab porque estaba trabajando con rutas de pares de claves SSH no predeterminadas. La respuesta de @NEO funciona perfectamente:

ssh-add ~/.ssh/other_id_rsa

Sin embargo, tuve que hacer esto cada vez que abrí una nueva terminal.

Para que este cambio sea permanente, debe editar ~/.ssh/config y agregar lo siguiente:

Host gitlab.company.com RSAAuthentication yes IdentityFile ~/.ssh/config/private-key-filename

Para obtener información más detallada, consulte la documentación de gitlab .


Enfrente el mismo problema en mi Ubuntu y luego me doy cuenta de que estoy en modo sudo , una vez que accedo a remote sin sudo me fue bien.

Así es como me deshago si el problema, espero que pueda ayudar.


No creo que esto resuelva su problema ya que probó ssh -vT [email protected] directamente y funcionó, pero está utilizando el ssh-agent incorrecta. Tienes que correr

$ eval `ssh-agent -s` Agent pid 767 $ ssh-add -l The agent has no identities.

Esto evaluará los comandos de exportación del entorno y permitirá que los comandos ssh-add y ssh comuniquen con el agente. Alternativamente, puede pedirle al agente que inicie un shell, terminal, etc. y configurará el entorno adecuado:

$ ssh-agent bash $ ssh-add -l The agent has no identities.

En este caso, el shell se ejecuta como un elemento secundario de ssh-agent y el agente se cerrará cuando se cierre el shell.


Permiso denegado (clave pública). Encontré este problema hoy, pero finalmente encontré una solución y resolví mi problema con éxito.

Tal vez deberías verificar los siguientes problemas:

  1. tienes una cuenta github
  2. git config tu nombre de usuario y -mail
  3. genere un par de pri / pub ssh-key y agregue la clave pública a su cuenta de git, compruebe que puede brindarle ayuda: generando una nueva clave ssh y no puede empujar el repositorio de git ''permission denied''
  4. compruebe que ssh-key se haya agregado correctamente: ssh -V [email protected]
  5. ¡buena suerte!

Si aún no lo ha leído, consulte este error en la página de ayuda de GitHub:

Error: Permiso denegado (clave pública)

Cada vez que tuve este problema, fue debido al último problema enumerado en esa página: no tenía la clave pública de mi estación de trabajo actual conectada a mi cuenta de GitHub. Por supuesto, GitHub también brinda instrucciones sobre cómo adjuntar su clave pública a su cuenta .

tl; dr

Asegúrese de que su clave pública actual esté conectada a su cuenta de GitHub.


Tuve el problema similar y mi problema se resolvió ejecutando el siguiente comando para agregar mi clave a la lista de claves conocidas:

ssh-add ~/.ssh/id_rsa

Espero que solucione el tuyo también. ;)