es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No puedo operar el repositorio de GitHub utilizando SSH.

Estoy intentando ciertas operaciones de git, como pull, push, etc., pero ninguna funciona:
Permiso denegado (clave pública).
fatal: No se pudo leer desde el repositorio remoto.
Asegúrese de tener los derechos de acceso correctos
y de que el repositorio exista.

Cosas que he hecho:

  1. Comprobé si los remotos eran ssh: git remote -v

    origin git@github.com:USUARIO/REPOSITORIO.git (fetch)

    origin git@github.com:USUARIO/REPOSITORIO.git (push)

  2. Comprobé si el agente ssh está en ejecución: eval "$(ssh-agent -s)"

    Agente pid 123456

  3. Añadí la clave privada al agente ssh: ssh-add "ruta_al_archivo_de_clave_privada"

    Identidad añadida: “ruta_al_archivo_de_clave_privada” (email@proveedor.com)

  4. Añadí la clave pública a Github en “https://github.com/settings/ssh/new”
  5. Comprobé si la conexión ssh está funcionando: ssh -T git@github.com

    ¡Hola USUARIO! Te has autenticado correctamente, pero GitHub no proporciona acceso a shell.

entrar descripción de la imagen aquí

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Según el mensaje de error recibido, parece ser un problema relacionado con la autenticación o la autorización. Los pasos que has seguido son correctos, sin embargo, podemos verificar algunas cosas más para solucionar el problema.

    1. Verifica la URL del repositorio remoto:

      Asegúrate de que la URL del repositorio remoto sea correcta y coincida con la que aparece en el mensaje de error. También puedes intentar eliminar el repositorio remoto y agregarlo nuevamente para asegurarte de que la URL esté actualizada.

      git remote remove origin
      git remote add origin git@github.com:USERNAME/REPOSITORY.git
      
    2. Verifica si se está utilizando la clave correcta:

      A veces, es posible que tengamos múltiples claves SSH en nuestra máquina y Git esté utilizando la incorrecta. Puedes especificar explícitamente qué clave utilizar agregando las siguientes líneas a tu archivo de configuración de SSH (~/.ssh/config).

      Host github.com
      IdentityFile /ruta/a/clave/privada
      

      Alternativamente, puedes intentar agregar la bandera -i a tus comandos ssh para especificar la clave a utilizar.

      ssh -i /ruta/a/clave/privada git@github.com
      
    3. Verifica si la clave SSH tiene los permisos adecuados:

      Asegúrate de que el archivo de clave privada no sea accesible para otros usuarios o grupos. Cambia los permisos del archivo de clave privada a 600 (lectura y escritura solo para el propietario).

      chmod 600 /ruta/a/clave/privada
      
    4. Verifica si el reenvío del agente SSH está funcionando:

      Si te estás conectando a un servidor remoto, asegúrate de que el reenvío del agente SSH esté funcionando correctamente. Puedes habilitarlo agregando la bandera -A a tu comando ssh o configurando ForwardAgent yes en tu archivo de configuración de SSH (~/.ssh/config).

      Además, asegúrate de que la configuración SSH del servidor remoto permita el reenvío del agente configurando AllowAgentForwarding yes en el archivo de configuración SSH (/etc/ssh/sshd_config).

    Si ninguna de las soluciones anteriores funciona, puedes intentar clonar tu repositorio utilizando HTTPS en lugar de SSH para ver si funciona. Si lo hace, significa que el problema está en tu configuración SSH y es posible que debas revisar los pasos anteriores para asegurarte de que todo esté correcto.

    Por último, puedes verificar si hay problemas de firewall o de red que podrían estar bloqueando la conexión SSH. Intenta conectarte desde una red o una máquina diferente para ver si el problema persiste.

Comments are closed.