De tête, il me semble que ssh n'autorise pas les connexions pour les utilisateurs sans mot de passe.
Une solution serai de générer un mot de passe de 15-20 caractère pour le compte git et de passer exclusivement par clé ssh.
@cdemoulins Et ensuite d'interdire de se loguer via mot de passe (Voir configuration de sshd) Donc dans ce cas la, pas besoin de mettre un mot de passe si long.
Sinon je pense que tu as raison.
Le problème venait partiellement de là. L'autre truc qui n'allait pas est dû à ma stupidité : je n'ai pas autorisé l'utilisateur git à se connecter via ssh
Cloning into gitosis-admin...
Enter passphrase for key '/home/revan/.ssh/id_dsa':
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly
J'ai suivi tuto, et j'ai mis les autorisations qui y sont demandées. Soit :
the home directory (/srv/gitosis/) => 700
the .ssh directory (/srv/gitosis/.ssh/) => 700
the authorized_keys file (/srv/gitosis/.ssh/authorized_keys) => 600
Y a-t-il d'autres permissions à changer ?
Voici les droits qu'il y a actuellement sur le dépôt "gitosis-admin" :
Vérifie que le dossier ainsi que tous les sous-dossiers et fichiers de /srv/gitosis appartiennent bien à l'utilisateur "git", et qu'il ait les droits de lecture / écriture (et exécution pour les dossiers).
Edit: remarque, ce n'est peut-être pas un problème de permissions lié au système de fichiers. Ça peut être ta clé publique ou le nom auquel elle est associée qui n'a pas les droits de lecture au dépot d'administration. Mais si tu as bien suivi l'étape Initiating gitosis-admin repository et que tu utilises bien la clé privée générée à ce moment là pour te connecter, je nevois pas pourquoi ça bloque.
[root@apophis /srv/gitosis] # ls -l
total 28
dr-xr-xr-x 2 root ftp 4096 Dec 14 08:09 ftp
drwx------ 5 git git 4096 Mar 13 20:23 gitosis
drwxrwxr-x 21 revan srv 4096 Mar 13 17:26 http
drwx------ 2 root root 16384 Feb 27 13:50 lost+found
[root@apophis /srv] # cd gitosis
[root@apophis /srv/gitosis] # ls -al
total 20
drwx------ 5 git git 4096 Mar 13 20:23 .
drwxr-xr-x 6 root root 4096 Mar 13 20:18 ..
drwxr-xr-x 2 git git 4096 Mar 13 20:20 gitosis
lrwxrwxrwx 1 git git 56 Mar 13 20:20 .gitosis.conf -> /srv/gitosis/repositories/gitosis-admin.git/gitosis.conf
drwxr-xr-x 3 git git 4096 Mar 13 20:20 repositories
drwx------ 2 git git 4096 Mar 13 20:23 .ssh
[root@apophis /srv/gitosis] # cd repositories
[root@apophis /srv/gitosis/repositories] # ls -l
total 4
drwx------ 8 git git 4096 Mar 13 13:47 gitosis-admin.git
[root@apophis /srv/gitosis/repositories] # cd gitosis-admin.git
[root@apophis ...itories/gitosis-admin.git] # ls -l
total 44
drwx------ 2 git git 4096 Feb 27 16:43 branches
-rwx------ 1 git git 66 Feb 27 16:43 config
-rwx------ 1 git git 73 Feb 27 16:43 description
-rwx------ 1 git git 81 Mar 5 00:08 gitosis.conf
drwx------ 3 git git 4096 Feb 27 16:43 gitosis-export
-rwx------ 1 git git 23 Feb 27 16:43 HEAD
drwx------ 2 git git 4096 Feb 27 16:43 hooks
-rwx------ 1 git git 264 Feb 27 16:43 index
drwx------ 2 git git 4096 Mar 5 00:06 info
drwx------ 4 git git 4096 Feb 27 16:43 objects
drwx------ 4 git git 4096 Feb 27 16:43 refs
[root@apophis ...itories/gitosis-admin.git] #
sinon, j'ai mis les droits indiqué dans le tutoriel :
the home directory (/srv/gitosis/) => 700
the .ssh directory (/srv/gitosis/.ssh/) => 700
the authorized_keys file (/srv/gitosis/.ssh/authorized_keys) => 600
Sinon je me suis apperçu que ma clef portait le nom "revan@archi" qui était l'ancien non de ma machine. J'ai donc toute réinstallé et initialisé avec une nouvelle clef associé au nouveau nom de ma machine "revan@anubis". Mais ça ne fonctionne toujours pas, j'ai toujours le même message d'erreur
There are 10 types of people in the world : those who understand binary and those who don't !
If you run SSH on a non-standard port on your server, don't use the syntax "git@myserver.com/foo/bar", it won't work. Putting the port in the URL doesn't seem to make gitosis, or git, (not sure which) happy. Instead, put this in your ~/.ssh/config file: