tag repositorio remoto pudo publickey permission name leer invalid fatal commits commands git ubuntu ssh gitlab

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

  1. 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

  2. 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:


Encontré esto después de buscar mucho. Funcionará perfectamente bien para mí.

  1. Vaya a "Git Bash" como cmd. Haga clic derecho y "Ejecutar como administrador".
  2. Escriba ssh-keygen
  3. Presione enter.
  4. Le pedirá que guarde la clave en el directorio específico.
  5. Presione enter. Le pedirá que escriba la contraseña o que ingrese sin contraseña.
  6. La clave pública se creará en el directorio específico.
  7. Ahora ve al directorio y abre la carpeta .ssh .
  8. Verás un archivo id_rsa.pub . Ábralo en el bloc de notas. Copie todo el texto de él.
  9. Vaya a gitlab.com/profile/keys .
  10. Pegue aquí en el campo de texto "clave".
  11. Ahora haga clic en el "Título" a continuación. Se llenará automáticamente.
  12. 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

  1. ssh-keygen -o -t rsa -b 4096 -C "[email protected]"

[email protected] es el correo electrónico de su cuenta de gitlab

  1. 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):

  2. 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):

  3. 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:

  4. Mostrará su ssh-rsa generar.

  5. 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.

  6. Mire por encima del mensaje que le pide que ingrese, obtendrá la ruta de ssh-rsa.

  7. Vaya a su carpeta SSH y obtenga el id_rsa.pub

  8. Ábralo y obtenga la clave y Copie Pegar en el Gitlab y ya casi está listo.

  9. Compruebe por: ssh -T [email protected]

  10. Obtendrá: ¡ Welcome to GitLab, @joy4!

  11. 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:

  1. ssh-keygen -t ed25519 -C "[email protected]"
  2. Copie su clave SSH pública en el portapapeles ( xclip -sel clip < ~/.ssh/id_ed25519.pub en mi caso en Linux)
  3. 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?

  1. Abra la terminal en el directorio de su proyecto.
  2. Escriba ''ssh-keygen -o -t rsa -b 4096 -C "su correo electrónico de gitlab"'' y presione enter
  3. Escriba ''vim /home/mnbtech/.ssh/id_rsa.pub'' y presione enter (o abra manualmente su ''id_rsa.pub'' desde donde lo guardó)
  4. Aparecerá la clave SSH. Copia esos y

  5. Ve a tu cuenta de gitlab.

  6. Haga clic en la imagen de perfil y haga clic en configuración
  7. En el lado izquierdo, seleccione SSH-Keys
  8. 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)