J'ai des problèmes avec Gitlab. J'ai utilisé le guide suivant pour installer et configurer Gitlab https://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.md . L'installation semblait bien se passer et tout. L'application Web semble bien fonctionner. Cependant je ne peux pas cloner, tirer, pousser, je ne peux pas utiliser Gitlab. J'ai vu 403 erreurs avec HTTP et autorisation refusée lors de la tentative de clonage via SSH.
Je me suis assuré que mes clés privées sont correctement configurées sur Windows et OS X. Je peux voir les clés publiques sur le serveur. J'ai ajouté ce qui suit à mon fichier de configuration dans ~ / .ssh.config
Host {hostname}
User git
Hostname {hostname}
PreferredAuthentications publickey
IdentityFile C:/Users/{username}/.ssh/id_rsa
Voici ce que je vois dans / 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
Le /var/log/message
rôle n'a pas été utilisé lorsque j'ai essayé d'utiliser git ou ssh
Je ne sais pas où aller d'ici. Aucune suggestion?
Je ne sais pas ce que vous entendez par SSH en utilisant le nom d'utilisateur git. Le guide que j'ai utilisé n'a pas créé de mot de passe pour l'utilisateur git et a déclaré que l'utilisateur ne peut pas être utilisé pour se connecter.
Réponses:
À condition que vous ayez chargé votre clé privée sur votre client, cela peut sembler être un problème d'autorisations sur le répertoire personnel de l'utilisateur 'git' et le répertoire .ssh.
Veuillez essayer de changer votre répertoire / home / git en un masque de 0711:
Assurez-vous que le répertoire /home/git/.ssh a un masque de 0700:
Assurez-vous que le fichier /home/git/.ssh/authorized_keys a un masque de 0600:
Remplacez / home / git par quel que soit votre répertoire personnel pour l'utilisateur 'git', s'il était différent dans le tutoriel. S'il ne s'agit pas d'autorisations, veuillez laisser un commentaire et nous verrons quel pourrait être le problème.
la source
https://username:[email protected]/repo.git
)Vérifiez que vous n'avez qu'un seul enregistrement pour votre clé publique (qui a été importée via la face Web)
/home/git/.ssh/authorized_keys
et que cette clé a le préfixe et le titre de gitlab. En d'autres termes, si vous avez ajouté la même clé manuellement avant d'installer gitlab, supprimez-la.la source
Je recommanderais également de vérifier que l'utilisateur a la permission appropriée de cloner / tirer / pousser dans gitlab. Je viens de passer trop de temps à parcourir les configurations ssh / https, alors que la raison du problème était que l'utilisateur dans gitlab n'avait pas assez d'autorisations ...
la source
Dans ma situation, j'ai installé gitlab via des packages FreeBSD. Gitlab SSH ne fonctionnait pas. La cause de ceci était un mauvais répertoire personnel pour git: (vipw)
J'ai changé cela en:
la source
Cela peut se produire si l'hôte a un «-» dans son nom. (Même si cela est légal selon la RFC 952. )
ssh me demande un mot de passe pour tout hôte qui se trouve avoir un «-» dans son nom. Cela semblerait être purement un problème avec l'analyse du fichier de configuration ssh car l'ajout d'un alias à ~ / .ssh / config (et l'utilisation de cet alias dans mes URL distantes git) a résolu le problème.
En d'autres termes, essayez de mettre quelque chose comme ceci dans votre C: / Users / {username} /. Ssh / config
et où vous avez une télécommande du formulaire
supprimez-le puis ré-ajoutez-le en utilisant le formulaire
la source
Si vous utilisez des variables d'environnement pour transmettre la clé, vous devez les coder en base64, sinon elles échoueront probablement avec une erreur vous demandant votre phrase secrète. Cela signifie que la clé est corrompue. Si tu vois:
Ensuite, base64 code la variable SSH_PRIVATE_KEY. Si vous êtes sous OS X,
va l'encoder et le copier dans votre presse-papiers. Maintenant, changez la ligne de script .gitlab-ci.yml en
la source
L'exécution a
eval $(ssh-agent)
résolu mon problème.la source
Mon problème était que le fichier de clés privées id_rsa créé et enregistré par puttygen a un format différent de celui créé à partir d'une machine ubuntu. Après avoir créé une paire de clés à partir de la machine Ubuntu, copiez ces fichiers sur la machine Windows sous le dossier% UserProfile% .ssh, puis ajoutez la nouvelle clé publique générée à Gitlab. Plus aucune autorisation refusée pour moi
la source