Git server: does not appear to be a git repository

lordfritte

Lieutenant
Registriert
Juli 2006
Beiträge
955
Hallo ich möchte mir einen privaten git-server aufsetzen. Als Plattform setze ich auf Ubuntu Server 12.04 64-Bit.
Bis her habe ich nach dieser Anleitung gearbeitet, bis zum ersten clonen hat auch alles Problemlos geklappt, aber wenn ich versuche ein projekt zu clonen erhalte ich auf dem Client-System eine Fehlermeldung:

Code:
fatal: 'gitosis-admin.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
git did not exit cleanly (exit code 128)
 
Ne bringt alles nichts.. zudem ich auch keine "~/.ssh/config" Datei finde.
 
Ja, die wird im zweiten Link ja schließlich auch erst erstellt. :o

Bei welchem Befehlt kommt denn der Fehler genau?
Wie siehts denn aus, wenn du erstmal per SSH in das Verzeichnis gehst,
das du zu klönen versuchst, und schaust ob der Pfad stimmt?
Meine Vermutung wäre auch erstmal eine fehlerhafte Pfadangabe.
 
Zuletzt bearbeitet:
Also wenn ich jetzt die config datei aus dem 2. Post anlege bekomme ich diese Fehlermeldung:
Code:
Cloning into 'gitosis-admin'...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

und ich habe LESE+AUSFÜHREN Recht auf dem ordner .ssh und der Datei id_rsa.pub

EDIT: So ich habe ssh mal mit debug Parametern gestartet:
administrator@192.168.0.25:~$ ssh -vT git@192.168.0.25
Und dies bekomme ich als Ergebnis:
Code:
OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 192.168.0.25 [192.168.0.25] port 22.
debug1: Connection established.
debug1: identity file /home/administrator/.ssh/id_rsa type -1
debug1: identity file /home/administrator/.ssh/id_rsa-cert type -1
debug1: identity file /home/administrator/.ssh/id_dsa type -1
debug1: identity file /home/administrator/.ssh/id_dsa-cert type -1
debug1: identity file /home/administrator/.ssh/id_ecdsa type -1
debug1: identity file /home/administrator/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9p1 Debian-5ubuntu1
debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA *********
debug1: Host '192.168.0.25' is known and matches the ECDSA host key.
debug1: Found key in /home/administrator/.ssh/known_hosts:1
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/administrator/.ssh/id_rsa
debug1: Trying private key: /home/administrator/.ssh/id_dsa
debug1: Trying private key: /home/administrator/.ssh/id_ecdsa
debug1: No more authentication methods to try.
Permission denied (publickey).

meine id_rsa in /home/git/.ssh interessiert ihn garnicht...
 
Zuletzt bearbeitet:
Wichtig sind die Rechte für /home/git/.ssh und /home/git/.ssh/authorized_keys
Die müssen die Rechte 700 bzw. 600 haben. Also rwx------ für /home/git/.ssh
und rw------- für /home/git/.ssh/authorized_keys
Der SSH Server ist da sehr pingelig.

Die Rechte von /home/administrator/.ssh/id_rsa.pub interessieren da in dem Moment nicht so sehr.

meine id_rsa in /home/git/.ssh interessiert ihn garnicht...
Nach einer Datei namens id_rsa in /home/git/.ssh schaut der SSH Server ja auch nicht. Die erlaubten Keys sind in /home/git/.ssh/authorized_keys abgespeichert.

Wie hast du deinen Key denn auf den Server kopiert? Mit ssh-copy-id?
 
Zuletzt bearbeitet:
Ich habe den key garnicht auf irgend einen Server kopiert, ich arbeite mit putty direkt auf dem server, auf dem ich einen git server einrichten möchte, ich habe den key mit "ssh-keygen -t rsa -C ..." angelegt.
 
Ein Key kann nur zur Authentifizierung per SSH benutzt werden, wenn dieser im Zielaccount (git) in der Datei ~/.ssh/authorized_keys hinterlegt ist. Einen Key generieren alleine, reicht nicht aus. Allerdings könnte es auch sein, dass sich gitosis beim Setup darum kümmert?!


PS: du benutzt gitosis? Soweit ich weiß, wird das doch für Ubuntu 12.04 gar nicht mehr supported und es wird empfohlen, den Nachfolger gitolite zu verwenden. Zusammen mit gitlab soll das ja ein gutes Team bilden.
Siehe http://askubuntu.com/questions/126097/ubuntu-12-04-gitosis-no-longer-available
https://github.com/gitlabhq/gitlabhq/blob/master/doc/installation.md
 
Zuletzt bearbeitet:
Gut, ich denke ich werde mal eine frische virtualle maschine aufsetzen und alles neu und mit gitolite versuchen.
Danke bisher.
 
Eins vorweg: ich habe gitosis oder gitolite noch nie selbst verwendet, aber bei beiden Systemen muss man den SSH Key erst authentifizieren. Ich habe mal in die Anleitung reingeschaut, die du im ersten Post gepostet hast.

Der Abschnitt
Nun kann gitosis initialisiert werden:
Code:
sudo -H -u git gitosis-init < /tmp/benutzername.pub
..

scheint dafür da zu sein, den generierten SSH Key an die richtige Stelle zu kopieren.
Vielleicht hat das bei dir ja nicht geklappt?
 
Wenn alles geklappt hat, wird gar nicht nach einem Passwort gefragt.
Wenn du magst, kann ich heute abend die ganze Anleitung mal in einer VM testen und schauen, ob ich das Problem auch habe. Du hast Ubuntu 12.04 LTS als Server verwendet, nicht?
Kann ja gut möglich sein, dass du gar nichts übersehen hast, sondern, dass die Anleitung einfach nicht mit Ubuntu 12.04 LTS funktioniert?

-----------------------------------------------------
Ergänzung ()

Also die Anleitung, die du oben gepostest hast, funktioniert (fast) einwandfrei bei mir. http://alphanodes.de/git-repositories-gemeinsam-nutzen
Das einzige Problem war, dass das gitosis Repository umgezogen ist. Ich habe gitosis von https://github.com/tv42/gitosis gezogen.

Du bist wahrscheinlich dabei durcheinander gekommen, welches Kommando du
wo absetzen musst. Also ob auf dem Server oder auf dem Client. Vor allem weil
das bei dir die selbe Maschine ist, hast du da wahrscheinlich etwas verwechselt.

Den SSH Key musst du auf dem Client generieren und dann auf den Server
kopieren. Auf dem Server musst du dann als Benutzer git das Programm gitosis-init starten und mit dem SSH-Key füttern. Den Teil hast du vermutlich verschlumpft. ;)

-----------------------------------------------------
Ergänzung ()

Also jetzt werde ich auch mal gitlab und gitolite ausprobieren.
Wenn es hält, was es verspricht, hat man ja seinen eigenen Github-Klon. :)
Klingt komfortabel.

-----------------------------------------------------
Ergänzung ()

Also ich habe mal die Installationsanleitung von Gitlab auf Ubuntu 12.04 Server Schritt für Schritt durchgeführt. Das sind zwar wirklich viele Schritte, aber jeder funktioniert. :) Einzig der Teil mit der Bearbeitung der zwei Config-Dateien ist etwas dünn. Da muss man sich entscheiden, ob man im Hintergrund lieber SQLite oder MySQL verwenden möchte. Wer sich mit MySQL nicht auskennt, muss da erstmal nachschlagen, wie man einen MySQL Benutzer erstellt und eine Datenbank erstellt. Wer damit keine Erfahrung hat, kann aber auch SQLite benutzen. :)

Ja, was soll ich sagen? Gitlab ist ein wenig wie Bitbucket oder Github. Nur mit dem Unterschied, dass es scheinbar projektzentriert und nicht benutzerzentriert ist.
Projekte haben die URL
http://gitserver/project und nicht
etwa
http://gitserver/user/project

Ich habe auch keine Möglichkeit gefunden, wie man sich als neuer Benutzer registrieren könnte. Der Admin muss im Menü einen Benutzer anlegen.
Zwei Probleme habe ich beim testen bemerkt: ich musste noch "ntp" installieren (apt-get install ntp), damit die Gitlab die Zeitzonen richtig auf die Reihe bekommt. Was ich leider nicht zum Laufen bekommen habe, ist das "Dashboard". Dort steht immer nur "Projects activity will be displayed here", obwohl es bereits Aktivitäten gibt. Anscheinend ist dafür dieser "Resque" Service zuständig. Muss man dafür einen funktionierenden Mailserver (oder Satellit) aufsetzen?
EDIT: das Problem mit dem Dashboard habe ich behoben, lag irgendwie an den update-hooks von git. Lösung siehe https://groups.google.com/forum/?fromgroups#!topic/gitlabhq/8LVbZWCfczk


Ansonsten bin ich von Gitlab sehr beeindruckt und begeistert. Die Bedienung ist wie bei Bitbucket/Github. Man loggt sich ein, lädt einmalig seinen öffentlichen Schlüssel hoch (via Webinterface) und kann dann Projekte anlegen/klonen/bearbeiten. :)
Anbei noch ein paar Screenshots.


 
Zuletzt bearbeitet:
Den SSH Key musst du auf dem Client generieren und dann auf den Server
kopieren. Auf dem Server musst du dann als Benutzer git das Programm gitosis-init starten und mit dem SSH-Key füttern. Den Teil hast du vermutlich verschlumpft.

Und genau das ist mein Problem, denn als Client benutze ich Windows 7.
ABER: Wenn ich dem Benutzer git mit passwd ein Passwort gebe, funktioniert es auch Problemlos.
Habe mich nur gewundert.

aber ich versuche es mal mit puttygen.

Aber ich habe es jetzt auch einigermaßen hinbekommen, Danke!
 
Also ich kann jetzt clonen, aber nicht mehr pushen:
fatal: remote error: access denied or repository not exported: /testRepo.git
 
Zurück
Oben