GitLab SSH-Schlüssel funktionieren nicht mehr

8

OK, ich bin oft über dieses Thema gestolpert, aber dies ist das erste Mal, dass keine der regulären Lösungen funktioniert hat.

Ich habe einen CentOS 6.4 Server, auf dem GitLab läuft. Es funktionierte großartig mit mehr als 20 Benutzern und über 60 Projekten, aber vor etwa 5 Stunden konnte mein Haupt-Staging-Server zum ersten Mal keine Verbindung zur GitLab-Maschine herstellen, indem er die Schlüsselauthentifizierung verwendete und zur Eingabe eines Passworts aufforderte. Ich habe den RSA-Schlüssel neu generiert und meinen Bereitstellungsschlüsseln hinzugefügt, aber auch das ist fehlgeschlagen.

Als nächstes habe ich versucht, einen neuen Benutzer auf dem Staging-Server zu erstellen, einen Schlüssel dafür zu erstellen und ihn GitLab hinzuzufügen, aber es schlägt immer noch fehl.

Berechtigungen:

%Vor%

Innere Wurzel:

%Vor%

Inside .ssh:

%Vor%

Wenn ich versuche, eine Verbindung zur Git-Maschine herzustellen:

%Vor%

Wenn ich SSH-Schlüssel über die Webschnittstelle hinzufüge, werden sie nicht zu .ssh/authorized_keys hinzugefügt.

Ich weiß nicht wirklich, was ich als nächstes versuchen soll: (

    
SlipY 28.10.2013, 12:02
quelle

4 Antworten

5

Wenn Schlüssel, die Sie zu GitLab hinzufügen, nicht in .ssh/authorized_keys :

übernommen werden
  1. Stellen Sie sicher, dass sidekiq ausgeführt wird . Keys werden gitlab-shell in einem Sidekiq-Worker hinzugefügt. Wenn Sidekiq also nicht verfügbar ist, werden sie nicht angezeigt. Sie können dies in der Ausgabe von ps -fu git überprüfen und die Registerkarte "Hintergrundjobs" auf der Registerkarte überprüfen Admin-Seite.
  2. Stellen Sie sicher, dass GitLab gitlab-shell ordnungsgemäß ausführen kann. Der Sidekiq-Mitarbeiter fügt Schlüssel hinzu Ausführen eines Prozesses gitlab-shell . Dies funktioniert insbesondere nicht, wenn die Einstellung ssh_user in gitlab nicht korrekt ist .yml , oder wenn gitlab-shell an einem anderen Ort als ~/gitlab-shell für diesen Benutzer installiert ist.
  3. Stellen Sie sicher, dass die / home Partition des Servers nicht voll ist. Wenn der Datenträger, auf dem die authorized_keys Datei gespeichert ist, voll ist, hängt der Schlüssel mit fail! Dieser hat mich ein paar Mal erwischt. Verwenden Sie df -h /home , um zu sehen, ob Sie noch Platz haben.

Überprüfen Sie Ihre Logs auf Fehlermeldungen von gitlab-shell: je nach Problem können Fehlermeldungen in den Logs von unicorn oder sidekiq erscheinen.

    
Ash Wilson 28.10.2013 14:11
quelle
3

Nun, jetzt bin ich unter 5.1 Ich habe es Schritt für Schritt gemacht 4.1 & gt; 4.2 4.2 & gt; 4.3 und schließlich läuft alles.

Nur für 4.1 Benutzer - & gt; Einer der Entwickler hat einen ungültigen Schlüssel hinzugefügt, einschließlich des $ # root ... und das ist, was die Synchronisierung brach.

Danke für Ihre Hilfe

    
SlipY 30.10.2013 09:31
quelle
0

Ich bin gerade auf dieses Problem gestoßen, als ich den GitLab-Server von HTTP auf HTTPS umgestellt habe. Auf dem Webserver sah alles gut aus - Logins usw. funktionierten alle normal, aber git @ gitlab SSH-Verbindungen scheiterten.

Nachdem ich # 2 in Ссылка (oben) gesehen habe, habe ich festgestellt, dass ich die Einstellung gitlab_url ändern musste /home/git/gitlab-shell/config.yaml , um https://gitlab.server.fqdn anstelle von http://gitlab.server.fqdn zu verwenden. Ich änderte diese Einstellung, startete den gitlab-Dienst neu und alles funktionierte normal.

    
Greg Lund-Chaix 27.02.2014 23:42
quelle
0

Muss alle vorherigen Schlüssel für den Host löschen. Problem ist, gitlab nimmt ältere Schlüssel und wenn die Übereinstimmung nicht existiert, schlägt es dort fehl. Ihr Arbeitsschlüssel wird möglicherweise später in der Reihenfolge aufgeführt und nicht ausgewählt.

    
joviano dias 23.04.2014 10:47
quelle

Tags und Links