bash - ionicjs - permission denied(publickey) git windows
Permiso de Github denegado: el agente de adición de ssh no tiene identidades (9)
Esta es la primera vez que accedo a github y no tengo experiencia en usar la consola. Estoy en una Macbook (usando Bash). Cuando intento acceder a github, obtengo esto:
git clone [email protected]:dhulihan/league-of-legends-data-scraper.git
Cloning into ''league-of-legends-data-scraper''...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Intenté seguir las instrucciones en la página de Github sobre Permiso denegado. Cuando uso ssh -vT [email protected], obtengo lo siguiente:
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to github.com [192.30.252.129] port 22.
debug1: Connection established.
debug1: identity file /Users/XXXX/.ssh/id_rsa type -1
debug1: identity file /Users/XXXX/.ssh/id_rsa-cert type -1
debug1: identity file /Users/XXXX/.ssh/id_dsa type -1
debug1: identity file /Users/XXXX/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version libssh-0.6.0
debug1: no match: libssh-0.6.0
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-sha1 none
debug1: kex: client->server aes128-ctr hmac-sha1 none
debug1: sending SSH2_MSG_KEXDH_INIT
debug1: expecting SSH2_MSG_KEXDH_REPLY
debug1: Server host key: RSA 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
debug1: Host ''github.com'' is known and matches the RSA host key.
debug1: Found key in /Users/XXXX/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/XXXX/.ssh/id_rsa
debug1: Trying private key: /Users/XXXX/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).
A continuación, eval "$ (ssh-agent -s)" devuelve "Agent pid 2314" Sin embargo, ssh-add -l devuelve "El agente no tiene identidades".
Y ahí es donde estoy atascado. Intenté buscar en Google este problema y buscar aquí en SO. Intenté acceder a archivos en el directorio ssh, pero no hay ninguno. Solo una carpeta llamada Knownusers.
¿Podría alguien ayudarme con este asunto?
Después de luchar por mucho tiempo, finalmente pude resolver este problema en Windows. Para mí, la variable de env del usuario GIT_SSH estaba configurada para apuntar a
"C: / Archivos de programa (x86) / WinScp / PuTTY / plink.exe"
que fue instalado junto con WinScp. Cambié el señalador para usar el ssh.exe predeterminado que viene con git-scm "C: / Archivos de programa / Git / usr / bin / ssh.exe"
Detalles completos en esta answer .
En resumen, cuando ssh-add -l
retorna The agent has no identities
, significa que las claves utilizadas por ssh
(almacenadas en archivos como ~ / .ssh / id_rsa, ~ / .ssh / id_dsa, etc.) faltan, son desconocido para el agente de autenticación ( ssh-agent
), o sus permisos están configurados incorrectamente (p. ej., mundo escribible).
Si faltan sus claves (es decir, no ha generado ninguna clave), use ''ssh-keygen'' (por ejemplo, ssh-keygen -t rsa
) para generarlas, luego use ssh-add
para agregarlas.
Si existen claves pero el ssh-agent
no las conoce (p. Ej., Pueden estar en una carpeta no estándar) use ''ssh-add'' (por ejemplo, ssh-add /path/to/my-ssh-folder/id_rsa
) para Agregalos.
Vea esta answer si tiene problemas con ssh-add
o ssh-agent
.
Ejecute los siguientes comandos:
ssh-keygen -t rsa
ssh-add /Users/*yourUserNameHere*/.ssh/id_rsa**
pbcopy < ~/.ssh/id_rsa.pub**
Vaya a su cuenta de Github: https://github.com/settings/profile
1) Haga clic en: claves SSH y GPG
2) Nueva clave SSH y lo pasé allí
3) Añadir clave SSH
¡Hecho!
Esto podría causar un nuevo terminal, la identificación del agente es diferente. Necesita agregar la clave privada para el agente
$ ssh-add <path to your private key>
Me han sorprendido un rato sobre el mismo problema, que finalmente resolví.
Mi problema : no pude ejecutar ningún empuje. Pude comprobar y ver mi control remoto (usando git remote -v
), pero cuando ejecuté git push origin master
, me devolvió: Permission denied (publickey). fatal: Could not read from remote repository.
Permission denied (publickey). fatal: Could not read from remote repository.
y entonces.
Cómo lo resolví:
- Genere una clave usando
ssh-keygen -t rsa
. Ingresar un nombre para el archivo de clave (cuando se le preguntó) fue inútil. - A continuación, podría agregar la clave (a git) :
ssh-add /Users/federico/.ssh/id_rsa
, quessh-add /Users/federico/.ssh/id_rsa
éxitoIdentity added: /Users/myname/.ssh/id_rsa (/Users/myname/.ssh/id_rsa)
- Agregué la clave SSH a github usando esta página de ayuda .
- Después de haber probado todos los comandos en la página de ayuda de Github "Permiso denegado público", solo el comando
ssh-add -l
funcionó / pareció útil (después de haber ejecutado los pasos anteriores), devolvió mi clave con éxito. El último paso le muestra dónde verificar su clave pública en su página de GitHub. Y este comando lo ayudará a verificar todas sus claves:ls -al ~/.ssh
.
¡Entonces el comando push eventualmente funcionó!
Espero que esto sea de ayuda ! Mejor suerte para todos.
Un elemento adicional que me di cuenta es que normalmente la carpeta .ssh se crea en su carpeta raíz en Mac OS X / Users /. Si intentas usar ssh -vT [email protected] desde otra carpeta, te dará un error incluso si hubieras agregado la clave correcta.
Necesita volver a agregar la clave (ssh-add ''ruta correcta a id_rsa'') desde la carpeta actual para autenticarse correctamente (suponiendo que ya ha cargado la clave en su perfil en Git)
en primer lugar, debe ir en su directorio ssh
para este tipo de comando siguiente en su terminal en mac o lo que sea que use en la ventana
cd ~/.ssh
ahora está en el ssh
Aquí puede encontrar todas sus claves / archivos relacionados con sus proyectos. ahora, escriba el siguiente comando para mostrarle si hay alguna clave ssh disponible
ls
esto te mostrará todos los ssh disponibles, en mi caso había dos
ahora, tendrá que iniciar un agente para agregar un ssh en él. Para este tipo de comando siguiente
eval "$(ssh-agent -s)"
ahora último pero no menos importante, agregará un ssh en este tipo de agente siguiente comando
ssh-add ~/.ssh/your-ssh
reemplazar
reemplace su-ssh con su nombre de archivo ssh, que obtuvo una lista del segundo paso
ls command
prueba esto:
ssh-add ~/.ssh/id_rsa
trabajó para mi
LA RESPUESTA 2017 para MacOs Sierra & High Sierra:
PD: la mayoría de las otras respuestas te harán crear una nueva clave ssh ... pero no necesitas hacer eso :)
Como se describe en detalle en https://openradar.appspot.com/27348363 , macOS / OS X hasta que Yosemite solía recordar las claves SSH agregadas por el comando ssh-add -K <key>
Así que aquí están los 4 pasos que tuve que tomar para que funcione:
1: ssh-add ~/.ssh/PATH_TO_YOUR_SSH_PRIVATE_KEY (eg ~/.ssh/id_rsa)
2: agregue lo siguiente en ~/.ssh/config
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile PATH_TO_YOUR_SSH_PRIVATE_KEY (e.g. ~/.ssh/id_rsa)
3: asegúrese de eliminar cualquier entrada de gitconfig que use osxkeychain helper:
https://github.com/gregory/dotfiles/commit/e38000527fb1a82b577f2dcf685aeefd3b78a609#diff-6cb0f77b38346e0fed47293bdc6430c6L48
4: reinicie su terminal para que tenga efecto.