2016-06-30 13 views
6

Ich versuche, Deployment-Schlüssel für ein Repository zu verwenden, das zu einer Organisation gehört (für die ich ein Administrator bin).Welcher Benutzer mit Bereitstellungsschlüsseln verwenden?

Ich habe ein Paar private/public Schlüssel erstellt, die Öffentlichkeit wurde in das Fenster "Deployment Keys" eingefügt und akzeptiert. Ich habe dann versucht, über git pull von einem entfernten Repository zu verbinden:

git add origin [email protected]:/organization/therepo.git 
git pull 

ich das Passwort für den Benutzer git gefragt halten wird. Ich habe versucht, stattdessen die Benutzer git, gogs, <my login>, <the name or the organization> zu verwenden - ich werde jedes Mal nach dem Kennwort gefragt.

Ich versuchte eine einfache ssh -v, um zu prüfen, welcher Schlüssel für Gogs zur Verfügung gestellt wird: Es ist der richtige (der private Schlüssel oben, entsprechend dem öffentlichen Schlüssel).

Welcher Benutzer sollte ich zum Verbinden verwenden?

+0

ich irgend Beispiel sah 'gogs' Repo-URLs. Sollte der Vorwärtsstrich vor "Organisation" da sein? –

+0

@DavidCullen: Du hast recht, ich habe es auch ohne den Schrägstrich probiert. Dennoch läuft die Authentifizierung nicht durch, also wäre das nicht das Problem (ich würde einen 'repository ... not found' Fehler bekommen) – WoJ

+0

Was haben Sie für" Run User "verwendet? Gibt es dieses Konto? Wenn ja, läuft dieser Benutzer "gogs"? –

Antwort

3

Alle Kredite für die Fehlerbehebung Ideen gehen an David Cullen (über seine Kommentare)

Das Problem, dass war ich den falschen sshd Dienst rufen.

Mein GOGS Dienst läuft in Docker und die ssh Port unterscheidet sich von dem des Host-Server (das ist das, was ich wurde mit der Standard-Port 22 aufrufen):

# docker ps 
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS           NAMES 
86ddbabc8cbb  gogs/gogs   "docker/start.sh /bin" 13 days ago   Up 3 minutes  0.0.0.0:3000->3000/tcp, 0.0.0.0:10022->22/tcp gogs 

Durch ein ~/verwenden. ssh/config-Datei, wie die

Host my.git.server.com 
     Port 10022 
     IdentityFile /var/www/.ssh/my.private.key.openssh 
     IdentitiesOnly yes 

ich jetzt ziehen successfuly den GOGS Repository von einem entfernten Server:

$ git pull ssh://[email protected]:/organisation/therepo 
From ssh://my.git.server.com:/organisation/therepo 
* branch   HEAD  -> FETCH_HEAD 
Already up-to-date. 

Bitte beachten Sie, dass ist ein Schrägstrich vor organisation (re: erste Kommentare)

Verwandte Themen