Esta es la primera vez que accedo a GitHub y no tengo experiencia en el uso de una consola. Estoy en una MacBook usando Bash. Cuando intento acceder a GitHub, obtengo esto:
git clone git@github.com: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 el 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 "Agente pid 2314", sin embargo, ssh-add -l
devuelve "El agente no tiene identidades".
Y ahí es donde estoy atrapado.
bash
github
ssh
permission-denied
public-key
Oscuro
fuente
fuente
Respuestas:
Detalles completos en esta respuesta .
En resumen, cuando se
ssh-add -l
devuelve “El agente no tiene identidad”, que significa que las claves utilizadas porssh
(almacenados en archivos, como~/.ssh/id_rsa
,~/.ssh/id_dsa
, etc.) están perdidos, que no son conocidas porssh-agent
, que es el agente de autenticación, o que sus permisos están configurados incorrectamente (por ejemplo, mundo escribible).Si faltan sus claves o si no ha generado ninguna, úselas
ssh-keygen -t rsa
y luegossh-add
agréguelas.Si existen claves pero no las conoce
ssh-agent
(como si estuvieran en una carpeta no estándar), usessh-add /path/to/my-non-standard-ssh-folder/id_rsa
para agregarlas.Vea esta respuesta si tiene problemas con
ssh-add
ossh-agent
.fuente
ssh-add /path/to/keyX
para cada una, especialmente si tienen nombres no estándar. Detalles aquí: stackoverflow.com/questions/3225862/… (una buena respuesta)ssh-add
de nuevo después de resolver la parte permisos de la cuestión. Después de esto,ssh -vT [email protected]
no funcionó. Necesitaba agregar la ruta absoluta como el comentador mencionado anteriormente. Entonces, todo fue salsa.prueba esto:
trabajó para mi
fuente
chmod 600 ~/.ssh/id_rsa
, entoncesssh-add ~/.ssh/id_rsa
LA RESPUESTA 2019 para macOS Sierra y High Sierra y Catalina:
PD: la mayoría de las otras respuestas te harán crear una nueva clave ssh ... pero no necesitas hacerlo :)
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 comando
ssh-add -K <key>
Así que aquí están los 4 pasos que tuve que seguir para que funcione:
1:
ssh-add ~/.ssh/PATH_TO_YOUR_SSH_PRIVATE_KEY (e.g. ~/.ssh/id_rsa)
2: Agregue lo siguiente en
~/.ssh/config
3: asegúrese de eliminar cualquier entrada de gitconfig que use osxkeychain helper:
4: reinicie su terminal para que surta efecto.
fuente
Me he quedado atrapado por un tiempo en el mismo problema, que finalmente resolví.
Mi problema : no pude ejecutar ninguna inserción. Pude comprobar y ver mi control remoto (usando
git remote -v
), pero cuando ejecutégit push origin master
, regresó:Permission denied (publickey). fatal: Could not read from remote repository.
y así.Cómo lo resolví:
ssh-keygen -t rsa
. Introducir un nombre para el archivo de clave (cuando se le preguntó) fue inútil.ssh-add /Users/federico/.ssh/id_rsa
que devolvió con éxitoIdentity added: /Users/myname/.ssh/id_rsa (/Users/myname/.ssh/id_rsa)
ssh-add -l
comando funcionó / parecía útil (después de haber ejecutado los pasos anteriores), devolvió con éxito mi clave. El último paso le muestra dónde verificar su clave pública en su página de GitHub. Y este comando le ayudará a comprobar todas sus claves:ls -al ~/.ssh
.¡Entonces el comando push finalmente funcionó!
Espero que esto sea de ayuda ! Mucha suerte a todos.
fuente
Ejecute los siguientes comandos:
Vaya a su cuenta de Github: https://github.com/settings/profile
1) Haga clic: claves SSH y GPG
2) Nueva clave SSH y pegarla allí
3) Añadir clave SSH
¡Hecho!
fuente
en primer lugar, debe ir a su directorio ssh
para este tipo siguiendo el comando en su terminal en mac o lo que use en la ventana
ahora está en ssh,
aquí puede encontrar todas sus claves / archivos ssh relacionados con todos sus proyectos. ahora, escriba el siguiente comando para mostrarle si hay alguna clave ssh disponible
esto le mostrará todos los ssh disponibles, en mi caso había dos
ahora, necesitará iniciar un agente para agregar un ssh. Para este tipo siguiendo el comando
ahora por último, pero no menos importante, agregará un ssh en este tipo de agente siguiendo el comando
reemplazar
fuente
Esto podría causar que en cualquier terminal nueva, la identificación del agente sea diferente. Debe agregar la clave privada para el agente
fuente
Un elemento adicional que me di cuenta es que, por lo general, la carpeta .ssh se crea en su carpeta raíz en Mac OS X / Users /. Si intenta usar ssh -vT [email protected] desde otra carpeta, le dará un error incluso si ha agregado la clave correcta.
Debe agregar la clave nuevamente (ssh-add 'ruta correcta a id_rsa') desde la carpeta actual para autenticarse con éxito (suponiendo que ya haya cargado la clave en su perfil en Git)
fuente
Esto funcionó para mí:
chmod 700 .ssh chmod 600 .ssh/id_rsa chmod 644 .ssh/id_rsa.pub
Luego, escriba esto:
ssh-add ~/.ssh/id_rsa
fuente
~/.ssh
permisos. Aún así, podría mejorar enormemente su respuesta agregando el comando completo (aquíchmod
) y explicando qué hace esto y por qué es necesario.Después de luchar por mucho tiempo, finalmente pude resolver este problema en Windows. Para mí, la variable de usuario env GIT_SSH estaba configurada para apuntar a
que se instaló junto con WinScp. Cambié el señalador para usar ssh.exe predeterminado que viene con git-scm "C: \ Archivos de programa \ Git \ usr \ bin \ ssh.exe"
fuente
Pasos para BitBucket:
si no desea generar una nueva clave, SALTE ssh-keygen
Copie la clave pública al portapapeles:
Inicie sesión en Bit Bucket: vaya a Ver perfil -> Configuración -> Claves SSH (en la pestaña Seguridad) Haga clic en Agregar clave, pegue la clave en el cuadro, agregue un título descriptivo
Regrese a Git Bash:
Deberías obtener:
Ahora:
git pull
debería funcionarfuente
Tuve este problema después de restaurar un disco duro desde una copia de seguridad.
Mi problema: pude verificar y ver mi control remoto (usando git remote -v), pero cuando ejecuté git push origin master, me devolvió: Permiso denegado (clave pública). fatal: no se pudo leer desde el repositorio remoto.
Ya tenía una carpeta SSH y claves SSH, y al agregarlas a través de Terminal (
ssh-add /path/to/my-ssh-folder/id_rsa
) agregué con éxito mi identidad, pero aún no podía presionar y todavía recibí el mismo error. Generar una nueva clave fue una mala idea para mí, porque estaba vinculada a otros permisos muy seguros en AWS.Resultó que el enlace entre la llave y mi perfil de Github se había roto.
Solución: volver a agregar la clave a Github en Perfil> Configuración> SSH y GPG resolvió el problema.
Además: mi cuenta tenía configurada la autenticación de 2 factores. Cuando este sea el caso, si Terminal solicita credenciales, use su nombre de usuario, pero NO su contraseña de Github. Para la autenticación de 2 factores, debe usar su código de autenticación (para mí, esto fue generado por Authy en mi teléfono, y tuve que copiarlo en la Terminal para el pw).
fuente