mac - permission denied(publickey) gitlab
Git-Permiso denegado(publickey) (30)
¿Estás en un entorno corporativo ? ¿Es posible que las variables de su sistema hayan cambiado recientemente? Por this respuesta SO, las claves ssh viven en %HOMEDRIVE%%HOMEPATH%/.ssh/id_rsa.pub
. Entonces, si %HOMEDRIVE%
cambió recientemente, git no sabe dónde buscar su clave y, por lo tanto, todas las cosas de autenticación.
Intente ejecutar ssh -vT [email protected]
. Tome nota de donde se encuentra el identity file
. Para mí, eso apuntaba no a mi /Users/MyLogin
sino a una unidad de red, debido a un cambio en las variables de entorno empujadas en el 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 lo llamé un día.
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 hacer ssh-keygen
sin contraseña, pero sigue siendo el mismo error.
Acabo de experimentar este problema al configurar mi proyecto actual, y ninguna de las soluciones anteriores funciona. así que traté de ver lo que realmente está pasando en la lista de depuración utilizando el comando ssh -vT [email protected]. Observo que mi nombre de archivo de clave privada no está en la lista. por lo tanto, cambiar el nombre del archivo de clave privada a ''id_rsa'' hace el trabajo. Espero que esto pueda ayudar.
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:
Chicos, así es como funcionó para mí:
1- Abre el terminal y ve al usuario [Ver imagen adjunta]
2- Abra la carpeta .ssh y asegúrese de que no tenga ningún archivo como id_rsa o id_rsa.pub, de lo contrario a veces no se reescribirán los archivos correctamente
3 - git --version [Comprobar la instalación y la versión de git]
4- git config --global user.email "su ID de correo electrónico"
5- git config --global user.name "tu nombre"
6- git config --list [asegúrese de haber configurado su nombre y correo electrónico]
7- cd ~ / .ssh
8- ssh-keygen, solicita guardar el archivo, lo permite
9- cat ~ / .ssh / id_rsa.pub [Acceda a su clave pública y copie la clave en la configuración de gerrit]
Nota : No debes usar el comando sudo con Git. Si tiene una buena razón para usar sudo, entonces asegúrese de usarlo con cada comando (probablemente es mejor usar su para obtener un shell como root en ese momento). Si genera claves SSH sin sudo y luego intenta usar un comando como sudo git push, no usará las mismas claves que generó
El link 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 ssh-agent en segundo plano:
eval "$(ssh-agent -s)"
Comando 2:
Agregue su clave SSH al agente ssh:
ssh-add ~/.ssh/id_rsa
En Windows, asegúrese de que todas sus aplicaciones estén de acuerdo con HOME. Msys sorprendentemente NO lo hará por ti. Tuve que establecer una variable de entorno porque ssh y git no parecían estar de acuerdo en dónde estaba mi directorio .ssh.
En mi MAC resolví esto con:
cp ~/.ssh/github_rsa ~/.ssh/id_rsa
Por alguna razón, mi git se detuvo para encontrar la clave privada en el archivo github_rsa
. Esto sucedió en un repo específico. Quiero decir que en otros repositorios git siguió trabajando normalmente.
Creo que es un error.
Pude encontrar este comportamiento ejecutando ssh -vT [email protected]
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 resolvió simplemente copiando la clave pública ssh actual, en el repositorio. La clave estará disponible en el usuario /home/.ssh/id_rsa.pub
Es bastante sencillo. Escribe el siguiente comando
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Generar la clave SSH. Abra el archivo y copie los contenidos. 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 :) No deberías ver el problema de nuevo.
Esta información funciona en theChaw pero se puede aplicar a todos los demás repositorios de git que admiten autenticaciones de clave de pub SSH. (Ver gitolite , gitlab o github por ejemplo.)
Primero comienza configurando tu propio conjunto de pares de clave pública / privada. Esto puede usar DSA o RSA, así que básicamente cualquier tecla que configure funcionará. En la mayoría de los sistemas puedes usar ssh-keygen.
- Primero querrás cd en tu directorio .ssh. Abre la terminal y ejecuta:
cd ~/.ssh && ssh-keygen
- Luego necesitas copiar esto en tu portapapeles.
- En OS X ejecuta:
cat id_rsa.pub | pbcopy
cat id_rsa.pub | pbcopy
- En Linux ejecuta:
cat id_rsa.pub | xclip
cat id_rsa.pub | xclip
- En Windows (a través de Cygwin / Git Bash) ejecute:
cat id_rsa.pub | clip
cat id_rsa.pub | clip
- Agregue su clave a su cuenta a través del sitio web.
- Finalmente configure su .gitconfig.
git config --global user.name "bob"
git config --global user.email bob@...
(no olvides reiniciar tu línea de comandos para asegurarte de que la configuración esté recargada)Eso es lo que debe ser bueno para clonar y pagar.
Puede encontrar más información en https://help.github.com/articles/generating-ssh-keys (gracias a @Lee Whitney)
Estaba luchando con el mismo problema, eso es lo que hice y pude clonar el repositorio. Seguí este procedimiento para iMac .
Primer paso: comprobar si ya tenemos la clave pública SSH.
- Terminal abierta.
- Ingrese
ls -al ~/.ssh
para ver si las claves SSH existentes están presentes:
Verifique la lista del directorio para ver si ya tiene una clave SSH pública. Los valores predeterminados públicos son uno de los siguientes d_dsa.pub, id_ecdsa.pub, id_ed25519.pub, id_rsa.pub
Si no lo encuentra, vaya al paso 2, de lo contrario, siga el paso 3
Paso 2: Generando clave SSH pública
- Terminal abierta.
- Ingrese el comando followong con su dirección de correo electrónico válida que usa para github
ssh-keygen -t rsa -b 4096 -C "[email protected]"
- Verá lo siguiente en el terminal
Generating public/private rsa key pair
. Cuando se le pregunte"Enter a file in which to save the key,"
presione Enter. Esto acepta la ubicación predeterminada del archivo. Cuando se le pide queEnter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
Simplemente presione enter nuevamente. Cuando se le solicite, escriba una contraseña segura. -
Enter passphrase (empty for no passphrase): [Type a passphrase]
presione enter si no desea ingresar laEnter same passphrase again: [Type passphrase again]
presione enter nuevamente
Esto generará id_rsa.pub
Paso 3: Agregar su clave SSH al agente ssh
- Tipo de
eval "$(ssh-agent -s)"
interminaleval "$(ssh-agent -s)"
- Agregue su clave SSH al agente ssh. Si está utilizando una clave SSH existente en lugar de generar una nueva clave SSH, deberá reemplazar id_rsa en el comando con el nombre de su archivo de clave privada existente. Ingrese este comando
$ ssh-add -K ~/.ssh/id_rsa
Ahora copie la clave SSH y agréguela a su cuenta github
- En la terminal ingrese este comando con su nombre de archivo ssh
pbcopy < ~/.ssh/id_rsa.pub
Esto copiará el archivo a su portapapeles Ahora abra su cuenta github Vaya a Configuración> SSH y teclas GPG> Nueva tecla SSH Ingrese el título y pegue Tecla desde el portapapeles y guárdala. Voila ya está hecho.
Estaba recibiendo el mismo error. Mi problema fue mezclando en sudo.
No podía crear el directorio en el que estaba clonando automáticamente sin prefijar el comando git clone con sudo. Cuando hice eso, sin embargo, mis claves ssh no estaban siendo correctamente referenciadas.
Para solucionarlo, configuré los permisos a través de chmod en el directorio principal que quería que contenga mi clon para poder escribir en él. Luego corrí git clone SIN un prefijo sudo. ¡Entonces funcionó! Cambié los permisos de nuevo después de eso. Hecho.
Este error puede ocurrir cuando accede a la URL de 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 SÓLO LECTURA. Pero como ese es su propio repositorio, GitHub puede mostrar la URL de 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, se denegará su acceso, 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 la URL de SSH.
En una palabra, si su intención es clonar solo un repositorio, use la URL de HTTPS ( https://github.com/{user_name}/{project_name}.git
) en lugar de la URL de SSH ( [email protected]:{user_name}/{project_name}.git
), que evita (innecesariamente) la validación de la clave pública.
Actualización: GitHub muestra HTTPS como el protocolo predeterminado ahora y este movimiento probablemente puede reducir el posible uso incorrecto de las URL de SSH.
Este extraño error, en mi caso, fue un síntoma de que gnome-keyring-daemon
nombró incorrectamente la clave a la que se le solicitó 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 gráfica de usuario de confusión, se resolvió. Consulte: https://askubuntu.com/questions/3045/how-to-disable-gnome-keyring
Esto funciona para mí:
ssh-add ~/.ssh/id_rsa
Funcionó para mí.
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:
pbcopy <~ / .ssh / id_rsa.pub
- Copie la clave SSH en el portapapeles, regrese al portal web.
- En el campo Clave SSH, pegue su clave SSH.
- En el campo Nombre, proporcione un nombre para la clave.
- salvar .
Funciono para mi
ssh -i [your id_rsa path] -T [email protected]
La solución de problemas más extensa e incluso la reparación automatizada se puede hacer con:
ssh -vT [email protected]
Fuente: https://help.github.com/articles/error-permission-denied-publickey/
La solución más fácil para esto, cuando intenta ingresar a un repositorio con un nombre de usuario diferente es:
git remote set-url origin https://[email protected]/USERNAME/PROJECTNAME.git
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 lo redireccionará, según corresponda):
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 ...
Me encontré con 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://
a ssh://
no se cambió nada al final de la URL.
Pero la verdad es:
https://github.com/USERNAME/REPOSITORY.git
[email protected]:USERNAME/REPOSITORY.git
Lo que significa que cambié ssh://github.com/USERNAME/REPOSITORY.git
a [email protected]:USERNAME/REPOSITORY.git
funciona.
Error estúpido pero la esperanza ayuda a alguien!
Pude superar este problema siguiendo los pasos a continuación en mi sistema ubuntu. Como estaba experimentando con ssh sin contraseña para el sistema.
sudo vi / etc / ssh / sshd_config
1) Comentó a continuación: #Cambiar a no para deshabilitar las contraseñas de texto claro con túneles # Contraseña de autenticación sí Contraseña de autenticación no ----> comentó esto.
2) Luego reinició el demonio sshd como se muestra a continuación.
servicio sshd reinicio
Recibí este error porque generé las claves ssh con el correo electrónico incorrecto. Pude conectarme utilizando ssh, pero no utilizando git. La solución fue regenerar las claves usando la dirección de correo electrónico principal de mi cuenta de github.
Si tiene más de una clave, es posible que deba hacer ssh-add private-keyfile
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 / a / 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, luego intente de nuevo.
Tengo el mismo informe de error.
Corregido con el uso de HTTP en su lugar. Ya que no quiero configurar "claves SSH" para una PC de prueba.
Cambia la URL a HTTP cuando clones:
git clone https://github.com/USERNAME/REPOSITORY.git
Mi problema es un poco diferente : tengo la URL configurada cuando agrego un repositorio local existente al remoto, usando:
git remote add origin ssh://github.com/USERNAME/REPOSITORY.git
Para solucionarlo, restablece la URL a HTTP:
git remote set-url origin https://github.com/USERNAME/REPOSITORY.git
Por cierto, puedes verificar tu URL usando el comando:
git remote -v
origin https://github.com/USERNAME/REPOSITORY.git (fetch)
origin https://github.com/USERNAME/REPOSITORY.git (push)
Espero que esto ayude a alguien como yo. :RE
Tuve una situación ligeramente diferente, inicié sesión en un servidor remoto y estaba usando git en el servidor. Cuando ejecuté cualquier comando de git, recibí el mismo mensaje.
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
La forma en que lo arreglé fue cambiando el archivo / etc / ssh_config en mi Mac. desde
ForwardAgent no
a
ForwardAgent yes
Use el enlace ssh de Github, pero asegúrese de no agregarlo con ssh, solo use lo que la pestaña ssh en git hub le permite clonar su repo.
Recibía un error similar de Permiso denegado (publickey) al intentar ejecutar un makefile.
Como alternativa a los pasos de SSH anteriores, puede instalar la aplicación GitHub nativa 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 la línea de comandos de git hub pero no estoy seguro de si este paso es necesario o no), recibí un correo electrónico -
[GitHub] Se agregó una nueva clave pública a tu cuenta
y mi error fue arreglado
Una de las formas más fáciles.
ir a la terminal-
git push <Git Remote path> --all