Pregunta:
Estoy intentando configurar el servidor de Gitlab. Aparece un error "No se puede generar la huella digital" al agregar claves ssh. Busqué en Google las soluciones y encontré algunos posibles problemas que podrían causar este problema.
Primero fue asegurar el acceso adecuado desde SELinux. Como no tengo SElinux instalado, no puede ser un problema.
El segundo fue asegurarse de que ssh-keygen
esté instalado y que las claves generadas no tengan una frase de contraseña asociada. Lo comprobé y no hubo problemas.
En tercer lugar, comprobar que el usuario git
puede acceder al directorio tmp
creado por Gitlab. Yo también lo comprobé.
Este es el enlace que seguí para configurar gitlab.
Respuesta:
El problema es que la versión de Gitlab instalada a partir de esas instrucciones (versión 6.9.2) es demasiado antigua (la versión actual es 8.14) – ssh-keygen
estaba generando hashes de huellas dactilares basados en MD5; el valor predeterminado ahora es SHA256. La solución, obtenida de la corrección del error "No se puede generar la huella dactilar" de gitlab, es la siguiente:
- Edite
<path-to-gitlab>/app/models/key.rb
- Cambiar esta linea
cmd_output, cmd_status = popen(%W(ssh-keygen -lf #{file.path}), '/tmp')
- Con este
cmd_output, cmd_status = popen(%W(ssh-keygen -E md5 -lf #{file.path}), '/tmp')
- Reiniciar Gitlab