Tengo problemas con Gitlab. Utilicé la siguiente guía para instalar y configurar Gitlab https://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.md . La instalación parecía ir bien y todo. La aplicación web parece estar funcionando bien. Sin embargo, no puedo clonar, tirar, empujar, básicamente no puedo usar Gitlab. He visto errores 403 con HTTP y permiso denegado al intentar clonar sobre SSH.
Me he asegurado de que mis claves privadas estén configuradas correctamente tanto en Windows como en OS X. Puedo ver las claves públicas en el servidor. Agregué lo siguiente a mi archivo de configuración en ~ / .ssh.config
Host {hostname}
User git
Hostname {hostname}
PreferredAuthentications publickey
IdentityFile C:/Users/{username}/.ssh/id_rsa
Esto es lo que veo en / var / log / secure
Jan 14 17:31:48 dev_version_control sshd[3696]: Connection closed by 192.168.17.113
Jan 14 17:32:18 dev_version_control sshd[3700]: Connection closed by 192.168.17.113
No /var/log/message
funcionó cuando intenté usar git o ssh
No estoy seguro de a dónde ir desde aquí. ¿Alguna sugerencia?
No sé qué quieres decir con SSH usando git username. La guía que utilicé no creó una contraseña para el usuario de git y declaró que el usuario no puede ser utilizado para iniciar sesión.
Respuestas:
Siempre que haya cargado su clave privada en su cliente, parece que esto podría ser un problema de permisos en el directorio de inicio del usuario 'git' y el directorio .ssh.
Intente cambiar su directorio / home / git a una máscara de 0711:
Asegúrese de que el directorio /home/git/.ssh tenga una máscara de 0700:
Asegúrese de que el archivo /home/git/.ssh/authorized_keys tenga una máscara de 0600:
Reemplace / home / git con cualquiera que sea su directorio de inicio para el usuario 'git', si fuera diferente en el tutorial. Si no se trata de permisos, deje un comentario y veremos qué más podría ser el problema.
fuente
https://username:[email protected]/repo.git
)Compruebe que solo tiene un registro para su clave pública (que se importó a través de la cara web)
/home/git/.ssh/authorized_keys
y que esta clave tiene el prefijo y el título de gitlab. En otras palabras, si ha agregado la misma clave manualmente antes de instalar gitlab, elimínela.fuente
También recomendaría verificar que el usuario tenga el permiso adecuado para clonar / jalar / empujar en gitlab. Acabo de pasar demasiado tiempo buscando configuraciones ssh / https, cuando el motivo del problema era que el usuario en gitlab no tenía suficientes permisos ...
fuente
En mi situación, instalé gitlab a través de paquetes de FreeBSD. Gitlab SSH no funcionó. La causa de esto fue un directorio de inicio incorrecto para git: (vipw)
Cambié esto a:
fuente
Esto puede suceder si el host tiene un '-' en su nombre. (Aunque esto es legal de acuerdo con RFC 952 ).
ssh me solicita una contraseña para cualquier host que tenga un '-' en su nombre. Esto parece ser simplemente un problema con el análisis del archivo de configuración ssh porque agregar un alias a ~ / .ssh / config (y usar ese alias en mis URL remotas de git) resolvió el problema.
En otras palabras, intente poner algo como lo siguiente en su C: / Users / {username} /. Ssh / config
y donde tienes un control remoto de la forma
eliminarlo y luego volver a agregarlo usando el formulario
fuente
Si está utilizando variables de entorno para pasar la clave, debe codificarlas en base64, de lo contrario, probablemente fallarán con un error al solicitar su frase de contraseña. Esto significa que la clave está dañada. Si tú ves:
Luego, base64 codifica la variable SSH_PRIVATE_KEY. Si estás en OS X,
lo codificará y lo copiará a su portapapeles. Ahora cambie la línea de script .gitlab-ci.yml a
fuente
Correr
eval $(ssh-agent)
solucionó mi problema.fuente
Mi problema fue que el archivo de claves privadas id_rsa creado y guardado por puttygen tiene un formato diferente al creado desde una máquina ubuntu. Después de crear un par de claves de la máquina ubuntu, copie estos archivos nuevamente en la máquina Windows en la carpeta% UserProfile% .ssh, luego agregue la nueva clave pública generada a Gitlab. No más permisos denegados para mí
fuente