2011-08-11 8 views
1

mon programme d'installation est ubuntu - gitolite - msysgit. Après avoir suivi ce tutoriel:Impossible de cloner le dépôt git avec un nouvel utilisateur

https://sites.google.com/site/senawario/home/gitolite-tutorial

Tout fonctionne très bien.

Je modifié et Commited - poussé le fichier de configuration:

repo gitolite-admin 
     RW+  = id_rsa 

repo testing 
     RW+  = @all 

repo project-euler 
     RW+  = tester 

Everyhting être mis à jour, etc.

Je voudrais maintenant tester cela avec l'utilisateur « testeur », mais je ne peux pas. Ne devrait pas git clone tester @ myServer: projet-euler?

Si j'essaie ci-dessus je reçois:

$ git clone [email protected]:project-euler 
Cloning into project-euler... 
Permission denied (publickey). 
fatal: The remote end hung up unexpectedly 

J'ai essayé de la même machine je à admin le git.

Si j'essaie d'utiliser ceci:

git [email protected]:project-euler 

je reçois: accès R pour le projet-euler déniés aux id_rsa

Ce qui est normal puisque je pense que l'utilisateur git n'a pas accès.

Des idées? Après avoir suivi les liens @VonC, j'ai créé le fichier de configuration comme mentionné.

J'ai toujours le même problème, donc je m'amuse un ssh -v avec l'utilisateur en difficulté. La sortie est:

OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007 
debug1: Reading configuration data /c/Users/Stefanos/.ssh/config 
debug1: Applying options for 192.168.1.3 
debug1: Connecting to 192.168.1.3 [192.168.1.3] port 22. 
debug1: Connection established. 
debug1: identity file /c/Users/Stefanos/.ssh/tester type 1 
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.8p1 Debian-1ubuntu3 
debug1: match: OpenSSH_5.8p1 Debian-1ubuntu3 pat OpenSSH* 
debug1: Enabling compatibility mode for protocol 2.0 
debug1: Local version string SSH-2.0-OpenSSH_4.6 
debug1: SSH2_MSG_KEXINIT sent 
debug1: SSH2_MSG_KEXINIT received 
debug1: kex: server->client aes128-cbc hmac-md5 none 
debug1: kex: client->server aes128-cbc hmac-md5 none 
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent 
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP 
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent 
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY 
debug1: Host '192.168.1.3' is known and matches the RSA host key. 
debug1: Found key in /c/Users/Stefanos/.ssh/known_hosts:1 
debug1: ssh_rsa_verify: signature correct 
debug1: SSH2_MSG_NEWKEYS sent 
debug1: expecting SSH2_MSG_NEWKEYS 
debug1: SSH2_MSG_NEWKEYS received 
debug1: SSH2_MSG_SERVICE_REQUEST sent 
debug1: SSH2_MSG_SERVICE_ACCEPT received 
debug1: Authentications that can continue: publickey 
debug1: Next authentication method: publickey 
debug1: Offering public key: /c/Users/Stefanos/.ssh/tester 
debug1: Authentications that can continue: publickey 
debug1: No more authentication methods to try. 
Permission denied (publickey). 

MISE À JOUR

J'ai réussi à cloner le repo en utilisant git serveur git @ de clong: repo - pas tester @ serveur: prise en pension.

De plus, si j'ai le fichier de configuration, je ne peux pas me connecter en tant qu'administrateur. Il se connecte uniquement en tant que testeur. Probablement il devrait y avoir un moyen de configurer cela. Merci pour votre aide.

+0

Avez-vous copié la clé publique de * testeur *? – Simon

+0

J'ai copié la clé dans le répertoire/keydir et j'ai ensuite changé la clé avec mon compte git. Tout a fonctionné. J'ai double-vérifié cela en supprimant le dépôt et en le clonant à nouveau, puis en vérifiant si la nouvelle clé était là (c'était le cas). – FailedDev

Répondre

1

La première chose à faire est de vérifier si la clé publique de ce nouvel utilisateur a été publiée sur le serveur gitolite.

  • Vérifiez le contenu de ~ git/.ssh/authorizedkeys et recherchez une ligne avec testeur il
  • Vérifiez le contenu du repo/keydir de gitolite-admin, et rechercher un fichier 'tester.pub' , avec la clé publique (ne pas oublier those public keys are named after the user: tester.pub ici)
  • vérifier que testeur ne dans son/sa .ssh son id_rsa et id_rsa.pub.
+0

Merci pour la réponse! J'ai en effet vérifié ~ git/.ssh/authorizedkeys et la clé était là, bien sûr avec la syntaxe git "command etc" mais la clé était là, comme la clé d'admin. Test.pub était également présent dans le/keydir du serveur. Pour la troisième partie, ai-je besoin de créer un autre compte sur mon ordinateur (Win7) puis de mettre dans C: /Users/tester/.ssh/la clé privée? – FailedDev

+0

@FailedDev: la clé était là, mais pouvez-vous copier cette ligne? Juste pour vérifier c'était là avec le bon nom. – VonC

+0

@FailedDev: vous n'avez pas besoin de créer un nouveau compte, il vous suffit de sélectionner les bonnes clés publiques/privées lors de vos requêtes ssh. Voir le fichier de configuration comme dans http://stackoverflow.com/questions/5357232/nbgit-to-remote-host-with-ssh/5357423#5357423 ou http://stackoverflow.com/questions/922210/unable-to-git -push-master-to-github/922461 # 922461 – VonC

0

Vous confondez les utilisateurs de gitolite avec les utilisateurs de Linux. Ils partagent certaines caractéristiques mais diffèrent dans d'autres. Vous toujours utiliser l'utilisateur nommé "git" dans l'URL git lors de la connexion à gitolite. Indépendamment de cela, tout utilisateur à partir duquel vous essayez de vous connecter doit avoir une paire de clés (~/.ssh/id_rsa [.pub]). Alors disons que vous êtes "bob". Votre clé publique est dans /home/bob/.ssh/id_rsa.pub.Cette clé publique doit être ajoutée à la configuration gitolite. Disons que vous l'appelez "foo.pub" lorsque vous l'ajoutez. Maintenant, "foo" est un utilisateur gitolite valide auquel vous pouvez vous référer dans la configuration. N'oubliez pas qu'il n'y a pas de connexion, implicite ou explicite, entre votre utilisateur local (bob), l'utilisateur utilisé pour se connecter à gitolite (git), et l'utilisateur gitolite (foo). La seule connexion est la clé publique, qui identifie "bob" sur votre machine locale comme "foo" à gitolite.

+0

Donc je suppose que tout ce qui est dans le fichier de configuration, définit l'utilisateur actuel, ce qui signifie qu'il peut y avoir un seul utilisateur par machine à un moment donné. Ce qui est bien je suppose :) – FailedDev

+0

@Failed: Non, en fait avec gitolite vous pouvez nommer vos fichiers pubkey comme "[email protected]", "[email protected]", ou "[email protected]" afin de donner à un seul utilisateur plusieurs clés. Le nom dans "@ .pub" n'est pas vraiment important. C'est juste à titre informatif pour les administrateurs de gitolite. –

Questions connexes