2011-06-17 3 views
0

Je ne le suit,Configuration ssh avec Git

  1. créé un compte pour Git
  2. Créé dépôt nu
  3. Utilisation de la commande ssh-keygen -t rsa je crée la clé publique pour deux compte (celui-ci est compte git), K
  4. ajouté à la fois la clé publique (situé dans /home/user/.ssh/id_rsa.pub) sous authorized_keys dans le répertoire .ssh (compte git).
  5. clonée le dépôt par deux compte
  6. compte Git est capable de pousser les modifications au serveur (il demande passpharse)
  7. pour un autre compte, il ne permet pas de pousser le changement, ne demande pas passpharse demander un mot de passe.

Quel pourrait être le problème?

C'est la sortie:

git push origin master 
Offending key for IP in /home/user01/.ssh/known_hosts:15 
Matching host key in /home/user01/.ssh/known_hosts:51 
Are you sure you want to continue connecting (yes/no)? yes 
[email protected]'s password: Counting objects: 2, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (2/2), done. 
Writing objects: 100% (2/2), 317 bytes, done. 
Total 2 (delta 1), reused 0 (delta 0) 
error: insufficient permission for adding an object to repository database ./objects 
fatal: failed to write object error: unpack failed: unpack-objects abnormal exit 
+0

Quelle est l'erreur message? –

+0

git push maître d'origine Clé offensante pour IP dans /home/user01/.ssh/known_hosts:15 Clé d'hôte correspondante dans /home/user01/.ssh/known_hosts:51 Etes-vous sûr de vouloir continuer à vous connecter (oui/non)? oui user01 @ mot de passe gitserver: objets de comptage: 2, fait. Compression Delta utilisant jusqu'à 4 threads. Objets compressés: 100% (2/2), terminé. Ecriture d'objets: 100% (2/2), 317 octets, terminé. Total 2 (delta 1), réutilisée 0 (delta 0) erreur: autorisation insuffisante pour ajouter un objet à la base de données du référentiel./ Objets fatale: Impossible d'écrire objet erreur: déballer échoué: déballer-objets sortie – maestromani

+0

git pousser origine maître
Offending clé pour IP dans /home/user01/.ssh/known_hosts:15
anormale correspondant à la touche hôte /home/user01/.ssh/known_hosts:51
Etes-vous sûr de vouloir continuer à vous connecter (oui/non)? oui
user01 @ mot de passe du serveur:
Comptage des objets: 2, terminé.
Compression Delta utilisant jusqu'à 4 threads.
Objets compressés: 100% (2/2), terminé.
Objets d'écriture: 100% (2/2), 317 octets, terminé.
erreur: autorisation insuffisante pour ajouter un objet à la base de données du référentiel ./objects
fatale: Impossible d'écrire objet
erreur: déballer échoué: déballer-objets sortie anormale
maestromani

Répondre

1

Si je comprends ce que vous demandez du tout (il est un peu vague), que vous rencontrez des difficultés pour configurer une git partagée, où plusieurs utilisateurs doivent avoir accès?

Je suppose que cela est un linux/unix/serveur bsd de quelque sorte?


Ce que je l'ai fait dans notre société est que nous avons tous un utilisateur sur le serveur avec un dépôt nu dans notre dossier de base (utilisé comme miroir public et privé de notre repo de travail). Et nous avons un utilisateur séparé appelé "git" qui est membre du groupe aussi appelé "git", avec un repo nu pour servir de sorte de repo commun canonique. Tous les développeurs sont également dans le groupe "git" et le repo git est partagé avec le groupe. (Nos repos privées dans notre maison tous les autres ont seulement accès à des accès de sorte qu'ils peuvent tirer mais nous pouvons pousser --mirror à lui sans problèmes.)

La config de ssh est par utilisateur et j'accède au repo commun en utilisant ceci distance:

[remote "commonRepo"] 
    url = ssh://<myUserName>@testServerName/~git/commonRepo.git 
    fetch = +refs/heads/*:refs/remotes/commonRepo/* 

les détails sur la configuration des clés publiques Je ne me souviens pas que je le fais seulement tous les 3 ans environ ... Mais nous n'avons pas les clés ssh connectés à l'utilisateur « git » nous utilisez nos propres clés ssh pour notre propre utilisateur, et comptez sur les permissions de groupe sous Linux pour avoir accès au repo commun.

Assurez-vous que les bits sicky (ou ce qu'il est callel) est correctement configuré sur le serveur afin que lorsque l'on pousse à la prise en pension commune le propriétaire ne change pas (qui provoque toutes sortes d'erreurs de Stange)