publickey permission generate git ssh github

permission - El famoso "ERROR" de Git: Permiso para.git denegado al usuario



show git ssh key (10)

Después de buscar en Google por unos días, encontré que esta es la única pregunta similar a mi situación.

Sin embargo, ¡acabo de resolver el problema! Así que estoy poniendo mi respuesta aquí para ayudar a cualquier otra persona que busque este problema.

Aquí esta lo que hice:

  1. Abra "Keychain Access.app" (Puede encontrarlo en Spotlight o LaunchPad)

  2. Seleccione "Todos los artículos" en la Categoría

  3. Buscar "git"

  4. Eliminar todos los elementos antiguos y extraños

  5. Intenta empujar nuevamente y simplemente FUNCIONÓ

He intentado googlear y he leído http://help.github.com/troubleshooting-ssh/ y varias guías diferentes. No puedo ejecutar git push -u origin master o git push origin master (el mismo comando).

He tenido mi cuenta git durante al menos 2 o más años. He logrado crear repositorios y push -u origin master fine en mi computadora portátil, pero en este escritorio tengo problemas.

Esto es lo que intenté:

1. Configuré mi nombre de usuario de git

2. He configurado mi correo electrónico de usuario git

3. He subido los contenidos de mi /home/meder/.ssh/id_rsa.pub a la página de la cuenta de github. He verificado que no pegué ningún espacio en blanco

4. He creado un ~ / .ssh / config con estos contenidos:

Host github.com User git Hostname github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa

He modificado el .ssh a 700, id_rsa 600

5. He agregado el origen remoto correcto sin hacer errores tipográficos : git remote add origin [email protected]:medero/cho.git

6. Para confirmar # 5, aquí está mi .git / config. El directorio es correcto y no otro directorio:

[remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = [email protected]:medero/cho.git

7. ssh [email protected] -v me da una Autenticación exitosa

8. Una cosa extraña es que el nombre de usuario con el que me saluda no se ha agregado. Mi nombre de usuario github es medero , no medert .

Hola, mederot! Se ha autenticado con éxito, pero GitHub no proporciona acceso de shell.

9. No estoy detrás de un proxy o firewall

10. La clave se ofrece, aquí está la salida de -v :

debug1: Host ''github.com'' is known and matches the RSA host key. debug1: Found key in /home/meder/.ssh/known_hosts:58 debug1: ssh_rsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey debug1: Next authentication method: publickey debug1: Offering public key: /home/meder/.ssh/id_rsa debug1: Remote: Forced command: gerve mederot debug1: Remote: Port forwarding disabled. debug1: Remote: X11 forwarding disabled. debug1: Remote: Agent forwarding disabled. debug1: Remote: Pty allocation disabled. debug1: Server accepts key: { some stuff, dont know if i should share it debug1: Remote: Forced command: gerve mederot debug1: Remote: Port forwarding disabled. debug1: Remote: X11 forwarding disabled. debug1: Remote: Agent forwarding disabled. debug1: Remote: Pty allocation disabled. debug1: Authentication succeeded (publickey).

11. Aquí están los comandos que utilicé

mkdir cho git init touch README git add README git commit -m ''test'' git remote add origin [email protected]:medero/cho.git git push -u origin master

12. No quiero crear una nueva clave SSH.

13. Si git clon usando ssh y hago un edit, commit, y git push, obtengo la misma cosa exacta.

14. Aquí está el error real:

$ git push ERROR: Permission to medero/cho.git denied to mederot. fatal: The remote end hung up unexpectedly

15. He configurado mi nombre de usuario github y token github:

$ git config --global github.user medero $ git config --global github.token 0123456789yourf0123456789tokenConfigura el token de GitHub para todas las instancias de git en el sistema

16. He confirmado que mi nombre de usuario github NO es mederot y mi token github ES CORRECTO según la página de mi cuenta (los 2 primeros caracteres y los 2 últimos caracteres validados).

17. Para confirmar # 16, ~ / .gitconfig contiene

[github] token = mytoken... user = medero

18. Hice ssh-key add ~/.ssh/id_rsa si eso es necesario ...



TEORÍAS:

Sospecho que hay algo raro porque cuando me autentican, el saludo del usuario es mederot y no medero , que es lo mío. ¿Es posible que algo en mi cuenta github esté incorrectamente almacenado en caché?

También sospecho un poco de rareza local de caché ssh porque si mv ~/.ssh/id_rsa KAKA y mv ~/.ssh/id_rsa.pub POOPOO , y hago ssh [email protected] -v , todavía me autentica y dice que sirve mi /home/meder/.ssh/id_rsa cuando lo renombré? ¡Tiene que estar en la memoria caché!


En Mac, si tiene múltiples inicios de sesión en GitHub y no está utilizando SSH, forzar el inicio de sesión correcto utilizando:

git remote set-url origin https://[email protected]/username/repo-name.git

Esto también funciona si tienes problemas para acceder a un repositorio privado.


En el paso 18, supongo que te refieres a ssh-add ~/.ssh/id_rsa ? Si es así, eso explica esto:

También sospecho un poco de rareza local de caché ssh porque si mv ~ / .ssh / id_rsa KAKA y mv ~ / .ssh / id_rsa.pub POOPOO, y hago ssh [email protected] -v, todavía me autentica y dice que sirve mi /home/meder/.ssh/id_rsa cuando lo renombré? ¡Tiene que estar en la memoria caché!

... ya que ssh-agent almacena su clave en caché.

Si miras en GitHub, hay una cuenta de mederot . ¿Estás seguro de que esto no tiene nada que ver contigo? GitHub no debe permitir que se agregue la misma clave pública SSH a dos cuentas, ya que cuando usa [email protected]:... URLs, identifica al usuario en función de la clave SSH. (Que esto no debería permitirse se confirma here ).

Entonces, sospecho (en orden decreciente de probabilidad) que uno de los siguientes es el caso:

  1. Creó la cuenta de Mederot previamente y le agregó su clave SSH.
  2. Alguien más ha obtenido una copia de su clave pública y la ha agregado a la cuenta Mederot GitHub.
  3. Hay un error horrible en GitHub.

Si 1 no es el caso, informaré esto a GitHub, para que puedan verificar 2 o 3.

Más :

ssh-add -l comprueba si existe más de un identificador si es así, quítalo mediante ssh-add -d "ese archivo de clave"


Encuentro que la solución es la misma que proporciona @spyar, que es la aplicación de Acceso a Llaveros que almacena el antiguo nombre de usuario.

Hay 2 soluciones para esta situación:

  1. Eliminar la información en Keychain Access por
    • Abra la aplicación de acceso de Keychain
    • Buscar github
    • Eliminar las credenciales correspondientes

O

  1. Si usa quiere usar la clave ssh . Usted acaba de cambiar su url de Repo desde https

https://github.com/username/repo.git

dentro

[email protected]: username / repo.git

Espero que esto ayude.


Es debido a un conflicto.

Borre todas las claves de ssh-agent

ssh-add -d ~/.ssh/id_rsa ssh-add -d ~/.ssh/github

Agregue la clave github ssh

ssh-add ~/.ssh/github

Debería funcionar ahora.


Este problema también es causado por:

Si está en un mac / linux y está usando ''ControlMaster'' en su ~ / .ssh / config, es posible que se estén ejecutando algunos procesos maestros de control ssh.

Para encontrarlos, ejecuta:

ps aux | grep ''/[mux/]''

Y mata a los más relevantes.


Estoy usando Mac y el problema se resuelve eliminando el registro de github de la aplicación de acceso de llavero: Esto es lo que hice:

  1. Abra "Keychain Access.app" (Puede encontrarlo en Spotlight o LaunchPad)
  2. Seleccione "Todos los artículos" en la Categoría
  3. Buscar "git"
  4. Eliminar todos los elementos antiguos y extraños Intentar empujar de nuevo y simplemente FUNCIONÓ

Los pasos anteriores se copian de @spyar por la facilidad.


Si el problema es Windows, elimine las credenciales del historial de Windows.

  • Ir al Administrador de credenciales
  • Ir a Credenciales de Windows
  • Eliminar las entradas en Credenciales genéricas
  • Intente conectarse de nuevo. Esta vez, debería solicitarle el nombre de usuario y la contraseña correctos.

eliminar credenciales de git


También me encontré con esto, lo que me causó esto es que mientras clonaba el repositorio en el que estaba impulsando mis cambios, recogí la URL de clonación de una pestaña de incógnito sin iniciar sesión. (Todavía no tengo ni idea de cómo funciona). Eso por alguna razón llevó a que git escogiera otra cuenta de usuario. Cuando lo intenté de nuevo desde una página apropiada, funcionó como siempre.


Yo tenía el mismo problema que tú. Después de un largo tiempo dedicado a Google, descubrí que mi error fue causado por varios usuarios que agregaron la misma clave en sus cuentas.

Entonces, aquí está mi solución: elimine la clave ssh del usuario equivocado (puedo hacerlo porque el usuario incorrecto también es mi cuenta). Si el usuario incorrecto no es su cuenta, es posible que tenga que cambiar su ssh-key, pero no creo que esto suceda.

Y creo que su problema puede deberse a un error de escritura incorrecta en el nombre de su cuenta.