4 votes

Erreur de clonage de gitosis-admin sur une nouvelle installation

J'ai ce qui suit dans mon fichier gitosis.conf. (Créé via gitsosis-init < id_rsa.pub avec la clé de mon ordinateur portable)

[gitosis]
loglevel = DEBUG

[group gitosis-admin]
writable = gitosis-admin
members = michael@laptop

Lorsque j'essaie git clone git@SERVER:gitsos-admin.git J'obtiens les erreurs suivantes :

Initialized empty Git repository in /home/michael/gitsos-admin/.git/
DEBUG:gitosis.serve.main:Got command "git-upload-pack 'gitsos-admin.git'"
DEBUG:gitosis.access.haveAccess:Access check for 'michael@laptop' as 'writable' on 'gitsos-admin.git'...
DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'gitsos-admin.git', new value 'gitsos-admin'
DEBUG:gitosis.group.getMembership:found 'michael@laptop' in 'gitosis-admin'
DEBUG:gitosis.access.haveAccess:Access check for 'michael@laptop' as 'writeable' on 'gitsos-admin.git'...
DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'gitsos-admin.git', new value 'gitsos-admin'
DEBUG:gitosis.group.getMembership:found 'michael@laptop' in 'gitosis-admin'
DEBUG:gitosis.access.haveAccess:Access check for 'michael@laptop' as 'readonly' on 'gitsos-admin.git'...
DEBUG:gitosis.access.haveAccess:Stripping .git suffix from 'gitsos-admin.git', new value 'gitsos-admin'
DEBUG:gitosis.group.getMembership:found 'michael@laptop' in 'gitosis-admin'
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly

Je sais que ma clé est acceptée car j'ai essayé de me connecter via SSH et bien qu'un terminal ne soit pas alloué, l'autorisation fonctionne.

3voto

WildJoe Points 2515

Je ne sais pas si vous avez fait une erreur en collant votre question, mais êtes-vous sûr à 100% que vous avez utilisé : git clone git@SERVER:gitsos-admin.git et non git@SERVER:gitosis-admin.git ...

Il s'agit d'un changement subtil, mais votre exemple montre que vous essayez de cloner gitsos -admin.git et non gitose -admin.git

0voto

diogocarmo Points 141

Êtes-vous sûr que l'utilisateur sous lequel gitosis est exécuté a les privilèges d'accès au répertoire dans lequel se trouve le dépôt ? (Et tous ses sous-répertoires, y compris le dépôt lui-même.) J'ai moi-même rencontré ce problème lors de la première installation de notre serveur gitosis.

0voto

Armstrongest Points 6450

Une autre raison pour laquelle cela peut se produire est que les noms des fichiers clés ne correspondent pas à ceux de gitosis.conf. Le point important est le suivant : votre nom apparaît à trois endroits. Premièrement, dans le fichier gitosis.conf. Deuxièmement, dans le fichier nom du fichier clé. Troisièmement, à l'intérieur du fichier de clés, à la fin de votre clé publique.

J'ai découvert à la dure que le nom du fichier clé doit être votre nom d'utilisateur (dans gitosis.conf) avec ".pub" ajouté. Ainsi, par exemple, si votre nom d'utilisateur est "mtiller" dans gitosis.conf, votre fichier clé doit être nommé "mtiller.pub". Le nom à l'intérieur du fichier clé n'a (pour autant que je sache) aucune importance.

Cela peut être extrêmement déroutant car même la sortie de débogage de Git ne dit pas quelque chose d'explicite comme "couldn't find key for user xyz", ce qui est vraiment ennuyeux. En d'autres termes, il crache des messages/erreurs d'autorisation alors qu'il s'agit en réalité d'un problème d'authentification.

En fonction de la manière dont vous importez les clés, cela peut poser problème. Bien que je ne pense pas que la méthode que vous mentionnez dans votre question puisse causer ce problème, je le mentionne parce que je suis tombé sur votre question alors que je cherchais des solutions aux problèmes de non-concordance des noms, de sorte que quelqu'un d'autre pourrait être confronté à ce problème à un moment donné.

0voto

tundal45 Points 113

Je sais que ce n'est pas directement une réponse à votre question, mais je n'ai pas assez de recul pour laisser un commentaire. Ce que dit Michael Tiller n'est pas tout à fait exact. J'ai rencontré un problème similaire que j'ai expliqué ici

Comment faire en sorte que gitosis fasse la distinction entre deux utilisateurs ayant le même nom d'utilisateur ?

Le nom que vous utilisez dans gitosis.conf et le nom du fichier de clé ssh doivent être identiques. Cependant, ce nom ne doit en aucun cas correspondre à l'élément nom d'utilisateur dans le fichier de clé ssh.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X