repositorio - tag name invalid gitlab
Obtener permiso denegado(clave pública) en gitlab (22)
Mi problema es que no puedo empujar o buscar desde GitLab. Sin embargo, puedo clonar (a través de HTTP o SSH). Recibo este error cuando intento presionar:
Permiso denegado (clave pública) fatal: no se pudo leer desde el repositorio remoto
De todos los hilos que he visto, esto es lo que he hecho:
- Configurar una clave SSH en mi computadora y agregar la clave pública a GitLab
- Hecho la configuración --global para nombre de usuario y correo electrónico
- Clonado a través de SSH y HTTP para verificar si resolvería el problema
- Hecho el comando ssh -T [email protected]
Si tiene alguna idea sobre cómo resolver mi problema, sería muy apreciado.
Cuando tienes varias cuentas git y quieres una clave ssh diferente
Debe seguir el mismo paso para generar la clave ssh, pero asegúrese de
ssh-keygen -t ed25519 -C "[email protected]"
Ingrese la ruta que desea guardar (Ej: my-pc / Desktop / .ssh / ed25519)
Agregue la clave pública a su gitlab ( Cómo agregar clave ssh a gitlab )
Tienes que crear una nueva identidad ssh usando el siguiente comando
ssh-add ~/my-pc/Desktop/.ssh/ed25519
Bueno, tuve este mismo problema y después de probar la respuesta @Khan propuso. Sin embargo, solo pude hacerlo funcionar simplemente cambiando la url de origen en el archivo .git / config a la dirección https: https://gitlab.com/mygitlabusername/mygitproject.git
Como el acceso a través de ssh está denegado, descubrí que usar https no debería ser un problema. Sin embargo, le pedirá su nombre de usuario y contraseña para cada inserción en el repositorio at
Creo que la solución simple es agregar una clave privada al agente de autenticación (si su clave no es
~/.ssh/id_rsa
),
ssh-add ~/.ssh/<your private key>
Básicamente, dejas que el
ssh-agent
se encargue de ello.
Además, puede agregarlo permanentemente .
Dos cosas principalmente
-
Debe tener las claves id_rsa.pub e id_rsa (privadas) en su carpeta .ssh (que debe estar en su carpeta de inicio. Créelo si no está allí, coloque sus claves). No funcionaría si hubiera nombrado sus archivos clave de manera diferente
-
Cambie el permiso de id_rsa como chmod 400 ~ / .ssh / id_rsa
El problema para mí fue que
UsePAM
de
yes
a
no
en el archivo de configuración SSH en
/etc/ssh/sshd_config
.
Con
UsePAM yes
todo funciona perfectamente.
En mi caso, no fue un problema de gitlab, sino uno de configuración sshd. El servidor ssh no permitió la conexión, excepto por una lista de usuarios. El usuario git, el que se conecta remotamente a gitlab, no estaba en esa lista. Entonces, verifique esto antes que nada.
Puede verificar la configuración de su servidor ssh en
/etc/ssh/sshd_config
.
Si tiene una línea con la opción
AllowUsers
, agregue git:
AllowUsers user1 user2 user3 git
En mi caso, no funcionó en el WSL (Windows Subsystem for Linux).
Cuando comienzo el WSL, debo
-
iniciar ssh-agent_
eval $(ssh-agent -s)
-
agregue la clave al agente
ssh-add ~/.ssh/id_rsa
:ssh-add ~/.ssh/id_rsa
- si se le solicita, ingrese la contraseña
Ahora la conexión funciona.
Podemos probar esto con
ssh -T [email protected]
notas:
- weasel-pageant nos permite reutilizar las claves ssh que se cargan en el concurso PuTTY dentro del WSL
- explicación detallada: Git a través de SSH desde Windows devuelve Permiso denegado
Encontré esto después de buscar mucho. Funcionará perfectamente bien para mí.
- Vaya a "Git Bash" como cmd. Haga clic derecho y "Ejecutar como administrador".
-
Escriba
ssh-keygen
- Presione enter.
- Le pedirá que guarde la clave en el directorio específico.
- Presione enter. Le pedirá que escriba la contraseña o que ingrese sin contraseña.
- La clave pública se creará en el directorio específico.
-
Ahora ve al directorio y abre la carpeta
.ssh
. -
Verás un archivo
id_rsa.pub
. Ábralo en el bloc de notas. Copie todo el texto de él. - Vaya a gitlab.com/profile/keys .
- Pegue aquí en el campo de texto "clave".
- Ahora haga clic en el "Título" a continuación. Se llenará automáticamente.
- Luego haga clic en "Agregar clave".
Ahora pruébalo y funcionará seguro.
Encontré la solución en la gitlab.com/help/ssh/… .
To create a new SSH key pair:
1. Open a terminal on Linux or macOS, or Git Bash / WSL on Windows.
2. Generate a new ED25519 SSH key pair: ssh-keygen -t ed25519 -C "[email protected]"
2.1 Or, if you want to use RSA: ssh-keygen -o -t rsa -b 4096 -C "[email protected]"
3. Next, you will be prompted to input a file path to save your SSH key pair to... use the suggested path by pressing Enter
4. Once the path is decided, you will be prompted to input a password to secure your new SSH key pair. It''s a best practice to use a password, but it''s not required and you can skip creating it by pressing Enter twice.
5. Copy your public SSH key to the clipboard by using one of the commands below depending on your Operating System:
macOS: pbcopy < ~/.ssh/id_ed25519.pub
WSL / GNU/Linux (requires the xclip package): xclip -sel clip < ~/.ssh/id_ed25519.pub
Git Bash on Windows: cat ~/.ssh/id_ed25519.pub | clip
6. Navigating to SSH Keys and pasting your public key in the Key field
7. Click the Add key button
¡Espero que pueda ayudar a algunos de ustedes!
Otro problema que puede causar este comportamiento es cuando tiene una configuración con 2 ubicaciones% HOME% posibles.
Estoy usando una PC donde algunos de mis documentos se almacenan localmente, y algunos de ellos se almacenan en una unidad de red.
Algunas aplicaciones piensan que
C:/Users/<MyUserName>/
es mi
%home%
, otras piensan que
U:/
es el hogar.
Resulta que
ssh-keygen
puso mi clave privada en
C:/users/<MyUserName>/
, y que
ssh -T
y
ssh -v
también miran allí.
Entonces, todo parece funcionar bien, excepto que
git clone
,
git push
y otros buscan una clave en
U:/
.
Lo que falla, por lo que me sale el error antes mencionado.
Me llevó una hora descubrirlo, pero al final la solución fue simple: copié todo de
C:/Users/<MyUserName>/.ssh
a
U:/.ssh
Paso 1: se agregó un archivo de configuración en la carpeta ~ / .ssh / que parece
User git
Hostname gitlab.com
IdentityFile ~/.ssh/id_rsa_gitlab
TCPKeepAlive yes
IdentitiesOnly yes
Paso 2: solo clona el repositorio git SIN sudo.
Pasos a realizar, obtuve el mismo error pero lo solucioné. Gitlab quiere ssh-rsa, así que a continuación se muestra el código para ejecutar ssh para rsa
-
ssh-keygen -o -t rsa -b 4096 -C "[email protected]"
[email protected] es el correo electrónico de su cuenta de gitlab
-
Te pedirá que ingreses, así que solo presiona Enter después de que se te solicite el siguiente código,
Ingrese el archivo en el que guardará la clave (/home/yourDesktopName/.ssh/id_rsa):
-
Te pedirá nuevamente que ingreses, así que solo presiona Enter después de que aparezca el siguiente código,
Ingrese la frase de contraseña (vacía para ninguna frase de contraseña):
-
Se le solicitará nuevamente la última vez que ingrese, así que presione Enter después de que se solicite el siguiente código,
Ingrese la misma frase de contraseña nuevamente:
-
Mostrará su ssh-rsa generar.
-
Inicie sesión en su cuenta de Gitlab y vaya a la barra de navegación derecha, obtendrá la configuración y en la barra lateral izquierda obtendrá la clave ssh. Entra en él.
-
Mire por encima del mensaje que le pide que ingrese, obtendrá la ruta de ssh-rsa.
-
Vaya a su carpeta SSH y obtenga el id_rsa.pub
-
Ábralo y obtenga la clave y Copie Pegar en el Gitlab y ya casi está listo.
-
Compruebe por:
ssh -T [email protected]
-
Obtendrá: ¡
Welcome to GitLab, @joy4!
-
Hecho.
Resolví así ...
Generó una clave para Windows usando este comando:
ssh-keygen -t rsa -C "[email protected]" -b 4096
pero el problema fue que después de ejecutar este comando, apareció una línea: "Ingrese el archivo en el que guardará la clave (/c/Users/xxx/.ssh/id_rsa):" Aquí, estaba dando solo el nombre del archivo debido a que mi clave se guardaba en mi pwd y no en la ubicación dada. Cuando hice "git clone", suponía que la clave estaba en la ubicación "/c/Users/xxx/.ssh/id_rsa" pero no se encontró, por lo tanto, arrojó un error.
En el momento de la generación de la clave, se generaban 2 archivos, por ejemplo "archivo1" y "archivo1.pub" Cambié el nombre de estos dos archivos como
file1 -> id_rsa
y
file1.pub -> id_rsa.pub
y los colocó en la ubicación
"/c/Users/xxx/.ssh/"
Si estás en Linux o Macox, prueba esto en la terminal:
ssh-add -l
si no devuelve nada, intente esto:
ssh-add
debe crear identidad en ~ / .ssh / id_rsa
después de reintentar:
ssh-add -l
debe devolver su identidad, por lo que después de volver a intentar clonar, debe funcionar
NB: no olvide agregar su clave ssh en su perfil gitlab
Gracias
Tengo gitlab ejecutándose con docker, esto es lo que hice para solucionar mi problema.
Encontró que dentro de docker / var / log / gitlab / sshd / current había múltiples ocurrencias de un mensaje:
Autenticación rechazada: mal propietario o modos para el archivo /var/opt/gitlab/.ssh/authorized_keys
Después de lo cual cambié la propiedad de ese archivo de 99: usuarios a git: usuarios con:
chown git: usuarios Authorized_keys
Tuve el mismo problema, lo resolví agregando una nueva clave ssh:
-
ssh-keygen -t ed25519 -C "[email protected]"
-
Copie su clave SSH pública en el portapapeles (
xclip -sel clip < ~/.ssh/id_ed25519.pub
en mi caso en Linux) -
En gitlab, vaya a
settings=>ssh
keys y pase la nueva clave
Uso ubuntu 18.04, y en realidad fue un problema de permiso en mi máquina local. El problema desapareció cuando configuré el permiso de lectura / escritura en mi carpeta .git.
Utilice
git config credential.helper store
si su sitio usa TLS / SSL.
Espero que esto funcione
Vaya a la terminal y vuelva a generar la clave ssh.
Escriba
ssh-keygen
.
Le preguntará dónde desea guardarlo, escriba la ruta.
Luego copie la clave pública a la plataforma gitlabs. Suele comenzar con ssh-rsa.
asegúrese de que no está ejecutando
sudo git clone [email protected]:project/somethiing.git
, de lo contrario ssh buscará en
/root/.ssh
en lugar de la clave que cargó
~/.ssh/id_rsa
~/.ssh/id_rsa.pub
mi
~/.ssh/id_rsa.pub
a la lista de claves SSH conocidas en mi configuración de GitLab
gitlab.com/profile/keys
.
Eso resolvió el problema para mí.
:-)
¿Cómo agregar la clave SSH a la cuenta de gitlab en ubuntu?
- Abra la terminal en el directorio de su proyecto.
- Escriba ''ssh-keygen -o -t rsa -b 4096 -C "su correo electrónico de gitlab"'' y presione enter
- Escriba ''vim /home/mnbtech/.ssh/id_rsa.pub'' y presione enter (o abra manualmente su ''id_rsa.pub'' desde donde lo guardó)
-
Aparecerá la clave SSH. Copia esos y
-
Ve a tu cuenta de gitlab.
- Haga clic en la imagen de perfil y haga clic en configuración
- En el lado izquierdo, seleccione SSH-Keys
- Luego pegue esas claves Haga clic en Agregar clave
¡Se agregará SSH-Key!
(Nota: si tiene Generate Previews SSH Key y Obteniendo permiso denegado (clave pública). Elimine Your Previews ssh key y Genere una nueva y agregue git user.name y correo electrónico en su terminal)