Estoy en Mac Snow Leopard y acabo de instalar git
.
Acabo de intentar
git clone [email protected]:cakebook.git
pero eso me da este error:
Initialized empty Git repository in `/Users/username/Documents/cakebook/.git/`
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
¿Qué me estoy perdiendo?
También he intentado hacerlo ssh-keygen
sin passphase pero sigue siendo el mismo error.
git
ssh
ssh-keys
public-key
Teepusink
fuente
fuente
sudo
: este es otro usuario con otra clave pública.ssh-keygen
utilidad. La eliminación de la antigua clave pública en la configuración personal en github y la adición de mi clave ssh generada id_rsa.pub a las claves SSH y GPG solucionó los problemas de permisos de clonación.Respuestas:
Si el usuario no ha generado un conjunto de claves ssh pública / privada establecido anteriormente
Esta información está funcionando en theChaw pero se puede aplicar a todos los demás repositorios de git que admiten autenticaciones SSH pubkey. (Ver gitolita , gitlab o github por ejemplo).
Puede encontrar más información en https://help.github.com/articles/generating-ssh-keys (gracias a @Lee Whitney) -
Si el usuario ha generado un conjunto de claves públicas / privadas ssh establecido antes
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
fuente
ssh-add ~/.ssh/id_rsa
.xclip
Linux solo funcionó haciendo lo siguientexclip -sel clip < ~/.ssh/id_rsa.pub
que se enumera aquí: help.github.com/articles/generating-ssh-keysSe puede hacer una solución de problemas más extensa e incluso una reparación automática con:
Fuente: https://help.github.com/articles/error-permission-denied-publickey/
fuente
Este error puede ocurrir cuando accede a la URL SSH (lectura / escritura) en lugar de la URL de solo lectura de Git, pero no tiene acceso de escritura a ese repositorio.
A veces solo desea clonar su propio repositorio, por ejemplo, implementarlo en un servidor. En este caso, solo necesita acceso de SOLO LECTURA. Pero dado que es su propio repositorio, GitHub puede mostrar URL SSH si así lo prefiere. En esta situación, si la clave pública de su host remoto no está en sus claves SSH de GitHub, su acceso será denegado, lo que se espera que suceda .
Un caso equivalente es cuando intenta clonar el repositorio de otra persona al que no tiene acceso de escritura con URL SSH.
En una palabra, si su intención es clonar solo un repositorio, use la URL HTTPS (
https://github.com/{user_name}/{project_name}.git
) en lugar de la URL SSH ([email protected]:{user_name}/{project_name}.git
), lo que evita la validación (innecesaria) de la clave pública.Actualización: GitHub está mostrando HTTPS como el protocolo predeterminado ahora y este movimiento probablemente puede reducir el posible mal uso de las URL SSH.
fuente
https://github.com
URL de Git, todavía diceSSL certificate problem: self signed certificate in certificate chain
.git -c http.sslVerify=false clone ...
Parece un movimiento peligroso. Sin embargo, Chrome no da ninguna advertencia de SSL. Pensamientos?git clone https://github.com/MyUserName/MyRepo.git
Simplemente haga clic en los enlaces de texto debajo de la URL del repositorio a la derecha de la página de Github donde dice " Puede clonar con HTTPS, SSH o Subversion . ". (Haga clic en HTTPS para obtener el enlace en lugar del SSH predeterminado ).El enlace de ayuda de github me ayudó a resolver este problema. Parece que la clave ssh no se agregó al agente ssh. Esto es lo que terminé haciendo.
Comando 1:
Asegúrese de que ssh-agent esté habilitado. El comando inicia el agente ssh en segundo plano:
Comando 2:
Agregue su clave SSH al agente ssh:
fuente
Obtuve el mismo informe de error.
Solucionado con el uso de HTTP en su lugar. Como no quiero establecer "claves SSH" para una PC de prueba.
Cambiar URL a HTTP cuando clone:
Mi problema es un poco diferente : tengo la URL configurada al agregar un repositorio local existente a remoto, usando:
Para solucionarlo, restablezca la URL a HTTP:
Por cierto, puede verificar su URL usando el comando:
Espero que esto ayude a alguien como yo. :RE
fuente
Esto funciona para mi:
fuente
Tenga en cuenta que (al menos para algunos proyectos) debe tener una cuenta de github con una clave ssh .
Mire las claves enumeradas en su agente de autenticación ( ssh-add -l )
(si no ve ninguna, agregue una de sus claves existentes con ssh-add / path / to / your / key (por ejemplo: ssh-add ~ /.ssh/id_rsa ))
(si no tiene ninguna clave, primero cree una. Consulte: http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/internet/node31.html o simplemente google ssh-keygen)
Para verificar que tiene una clave asociada con su cuenta de github :
Vaya a: https://github.com/settings/ssh
Debería ver al menos una clave con una clave hash que coincida con uno de los hashes que vio cuando escribió ssh-add -l hace solo un minuto.
Si no lo hace, agregue uno e intente nuevamente.
fuente
Estaba luchando con el mismo problema, eso es lo que hice y pude clonar el repositorio. Seguí estos procedimientos para iMac .
Primer paso: verificar si ya tenemos la clave SSH pública.
ls -al ~/.ssh
para ver si las claves SSH existentes están presentes:Verifique el listado del directorio para ver si ya tiene una clave SSH pública. Public default es uno de los siguientes d_dsa.pub, id_ecdsa.pub, id_ed25519.pub, id_rsa.pub
Si no encuentra, vaya al paso 2; de lo contrario, siga el paso 3
Paso 2: generar clave pública SSH
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Generating public/private rsa key pair
. Cuando se le solicite que"Enter a file in which to save the key,"
presione Entrar. Esto acepta la ubicación predeterminada del archivo. Cuando se le soliciteEnter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
Simplemente presione enter nuevamente. En el indicador, escriba una frase de contraseña segura.Enter passphrase (empty for no passphrase): [Type a passphrase]
presione enter si no deseaEnter same passphrase again: [Type passphrase again]
presionar enter nuevamenteEsto generará
id_rsa.pub
Paso 3: Agregue su clave SSH al agente ssh
eval "$(ssh-agent -s)"
$ ssh-add -K ~/.ssh/id_rsa
Ahora copie la clave SSH y también agréguela a su cuenta de github
pbcopy < ~/.ssh/id_rsa.pub
Esto copiará el archivo a su portapapeles. Ahora abra su cuenta github. Vaya a Configuración> SSH y GPG> Nueva clave SSH. Ingrese el título y pegue la clave del portapapeles y guárdela. Voila, ya terminaste.fuente
Tuve una situación ligeramente diferente, estaba conectado a un servidor remoto y estaba usando git en el servidor, cuando ejecuté cualquier comando git recibí el mismo mensaje
La forma en que lo arreglé fue cambiando el archivo / etc / ssh_config en mi Mac. desde
a
fuente
config.ssh.forward_agent = true
, reinicié la VM y ahora funciona.Encontré el mismo problema porque pensé que la diferencia entre SSH y HTTPS es
https://github.com/USERNAME/REPOSITORY.git
ssh://github.com/USERNAME/REPOSITORY.git
Así que cambié de HTTPS a SSH simplemente cambiando
https://
assh://
nada al final de la url.Pero la verdad es:
Lo que significa que cambié
ssh://github.com/USERNAME/REPOSITORY.git
a[email protected]:USERNAME/REPOSITORY.git
funciona.¡Estúpido error pero la esperanza ayuda a alguien!
fuente
ssh://github.com/USERNAME/REPOSITORY.git
a[email protected]:USERNAME/REPOSITORY.git
funciona.ssh
lugar de,https
así que cambié 'https: //' a 'ssh: // `y luego recibí el error. Así que cambie 'ssh: // git /../ `a' git @ .. /":) Editó mi respuesta.En Windows, asegúrese de que todas sus aplicaciones estén de acuerdo con HOME. Msys sorprendentemente NO lo hará por usted. Tuve que establecer una variable de entorno porque ssh y git no parecían estar de acuerdo sobre dónde estaba mi directorio .ssh.
fuente
¿Estás en un entorno corporativo ? ¿Es posible que las variables de su sistema hayan cambiado recientemente? Según esta respuesta SO, las claves ssh viven en
%HOMEDRIVE%%HOMEPATH%\.ssh\id_rsa.pub
. Entonces, si%HOMEDRIVE%
ha cambiado recientemente, git no sabe dónde buscar su clave y, por lo tanto, todas las cosas de autenticación.Intenta correr
ssh -vT [email protected]
. Tome nota de dóndeidentity file
se encuentra el. Para mí, eso apuntaba no a mi\Users\MyLogin
unidad normal, sino a una unidad de red, debido a un cambio en las variables de entorno empujadas a nivel de red.¿La solución? Como mi nuevo
%HOMEDRIVE%
tiene los mismos permisos que mis archivos locales, simplemente moví mi carpeta .ssh allí y la llamé un día.fuente
Chicos, así es como funcionó para mí:
Nota : No debe usar el comando sudo con Git. Si tiene una muy buena razón por la que debe usar sudo, asegúrese de que lo está usando con cada comando (probablemente sea mejor usar su para obtener un shell como root en ese punto). Si genera claves SSH sin sudo y luego intenta utilizar un comando como sudo git push, no utilizará las mismas claves que generó
fuente
Las instrucciones básicas de GIT no hacían referencia a la clave SSH. Siguiendo algunos de los enlaces anteriores, encontré una página de ayuda de git que explica, paso a paso, exactamente cómo hacer esto para varios sistemas operativos (el enlace detectará su sistema operativo y redirigirá, en consecuencia):
http://help.github.com/set-up-git-redirect/
Recorre todo lo necesario para GITHub y también brinda explicaciones detalladas como "por qué agregar una frase de contraseña al crear una clave RSA". Pensé que lo publicaría, en caso de que ayude a alguien más ...
fuente
Una de las formas mas fáciles
ir a la terminal
fuente
Además de la respuesta de Rufinus, el acceso directo para copiar su clave ssh al portapapeles en Windows es:
type id_rsa.pub | clip
Refs:
fuente
Si tiene más de una clave, es posible que deba hacer
ssh-add private-keyfile
fuente
Llegué a este error porque necesitaba otorgarle a mi directorio de trabajo actual 700 permisos:
fuente
Tuve que copiar mis claves ssh a la carpeta raíz. Google Cloud Compute Engine con Ubuntu 18.04
fuente
Acabo de experimentar este problema al configurar mi proyecto actual, y ninguna de las soluciones anteriores funciona. Así que traté de mirar lo que realmente está sucediendo en la lista de depuración usando el comando ssh -vT [email protected]. Noto que mi nombre de archivo de clave privada no está en la lista. así que renombrar el nombre de archivo de la clave privada a 'id_rsa' hace el trabajo. Espero que esto pueda ayudar.
fuente
Es bastante sencillo. Escribe el siguiente comando
Genere la clave SSH. Abra el archivo y copie el contenido. Vaya a la página de configuración de GitHub y haga clic en la clave SSH. Haga clic en Agregar nueva clave SSH y pegue el contenido aquí. Eso es todo :) No deberías ver el problema nuevamente.
fuente
Recibía un error similar de Permiso denegado (clave pública) cuando intentaba ejecutar un archivo MAKE.
Como alternativa a los pasos SSH anteriores, puede instalar la aplicación nativa de GitHub para Mac.
Haga clic en Descargar GitHub para Mac desde: https://help.github.com/articles/set-up-git#platform-mac
Una vez que complete la configuración con su cuenta de git hub (también instalé las herramientas de línea de comando de git hub pero no estoy seguro si este paso es obligatorio o no), recibí un correo electrónico:
[GitHub] Se agregó una nueva clave pública a su cuenta
y mi error fue corregido.
fuente
Estaba recibiendo el mismo error. Mi problema era mezclar en sudo.
No pude crear el directorio en el que estaba clonando automáticamente sin prefijar el comando git clone con sudo. Sin embargo, cuando hice eso, mis claves ssh no estaban correctamente referenciadas.
Para solucionarlo, establecí permisos a través de chmod en el directorio principal que quería contener mi clon para poder escribir en él. Luego ejecuté git clone SIN un prefijo sudo. ¡Entonces funcionó! Cambié los permisos nuevamente después de eso. Hecho.
fuente
Recibí este error porque generé las claves ssh con el correo electrónico incorrecto. Pude conectarme usando ssh, pero no usando git. La solución fue regenerar las claves utilizando la dirección de correo electrónico principal de mi cuenta de github.
fuente
Funcionó para mi.
Su clave pública se guarda en el archivo id_rsa.pub; y es la clave que carga en su cuenta. Puede guardar esta clave en el portapapeles ejecutando esto:
fuente
Funciono para mi
fuente
La solución más fácil para esto, cuando está intentando ingresar a un repositorio con un nombre de usuario diferente es:
fuente
Este extraño error, en mi caso, fue un síntoma de
gnome-keyring-daemon
nombrar incorrectamente la clave para la que requería una contraseña.Sigo los pasos descritos aquí e ingresé la contraseña a través del terminal. El error, también conocido como la interfaz de GUI confuso, se resolvió. Ver: /ubuntu/3045/how-to-disable-gnome-keyring
fuente
En mi caso, he reinstalado ubuntu y el nombre de usuario ha cambiado desde el anterior. En este caso, la clave ssh generada también difiere de la anterior.
El problema se solucionó simplemente copiando la clave pública ssh actual, en el repositorio. La clave estará disponible en su usuario
/home/.ssh/id_rsa.pub
fuente
En mi MAC resolví esto con:
Por alguna razón, mi git se detuvo para encontrar la clave privada en el
github_rsa
archivo. Esto sucedió en un repositorio específico. Quiero decir que en otros repositorios git siguió funcionando normalmente.Creo que es un error.
Podría encontrar este comportamiento ejecutándose
ssh -vT [email protected]
fuente