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


He intentado googlear y leer http://help.github.com/troubleshooting-ssh/ y varias, varias guías. Soy incapaz de 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 bien en mi computadora portátil, pero en este escritorio estoy teniendo problemas.

Esto es lo que intenté:

1. Configuré mi nombre de usuario git

2. Configuré mi correo electrónico de usuario de git

3. He subido los contenidos de mi /home/meder/.ssh/id_rsa.pub a la página de 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 apropiado origen remoto sin hacer errores tipográficos : git remote add origin git@github.com: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 = git@github.com:medero/cho.git

7.  ssh git@github.com -v me da una Autenticación exitosa

8. Una cosa rara es que el nombre de usuario con el que me saluda tiene t anexado a él. Mi nombre de usuario github es mederono medert.

Hola, mederot! Has logrado   autenticado, pero GitHub no lo hace   proporcionar acceso de shell.

9. yo soy no 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 git@github.com: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 exactamente la misma cosa.

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. Configuré 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

dieciséis. Confirmé que mi nombre de usuario github NO es mederot y mi token github ES CORRECTO según la página de mi cuenta (valida los primeros 2 caracteres y los 2 últimos caracteres).

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

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

18. yo si 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 mi acct. ¿Es posible que algo en mi cuenta github esté incorrectamente almacenado en caché?

También sospecho que algunas local ssh caching rareza porque si mv ~/.ssh/id_rsa KAKA y mv ~/.ssh/id_rsa.pub POOPOO, y hacer ssh git@github.com -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é!


74
2018-03-17 05:22


origen


Respuestas:


En el paso 18, supongo que te refieres 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 git@github.com -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é!

... desde el ssh-agent está almacenando su clave en caché

Si miras en GitHub, hay un Mederot cuenta. ¿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 el git@github.com:... Las URLs identifican al usuario en función de la clave SSH. (Que esto no debe permitirse se confirma aquí.)

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 hay más de un identificador existe Si es así, elimínelo con ssh-add -d "ese archivo de clave"


32
2018-03-17 06:19



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. Abierto "Keychain Access.app" (Puedes encontrarlo en Spotlight o LaunchPad)

  2. Seleccionar "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Ó


113
2018-06-23 14:07



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.

enter image description here enter image description here

eliminar credenciales de git


50
2017-12-01 09:38



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.


11
2017-11-11 19:48



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

git remote set-url origin https://username@github.com/username/repo-name.git

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


6
2017-11-12 04:39



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

Hay 2 soluciones para esta situación:

  1. Eliminar la información en Acceso a llavero por
    • Abierto Acceso a llavero aplicación
    • Buscar github
    • Eliminar las credenciales correspondientes

O

  1. Si usa desea utilizar clave ssh. Usted acaba de cambiar su url de Repo desde https

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

dentro

git@github.com: username / repo.git

Espero que esto ayude.


5
2018-02-19 04:43



Estoy usando Mac y el problema se resuelve eliminando el registro de github de la aplicación de acceso de llavero: 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 Intentar empujar de nuevo y simplemente FUNCIONÓ

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


4
2018-02-15 14:36



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.


1
2018-05-31 02:27



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.


0
2017-07-23 22:09



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.


0
2018-01-27 06:42