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: (
Wenn Schlüssel, die Sie zu GitLab hinzufügen, nicht in .ssh/authorized_keys
:
ps -fu git
überprüfen und die Registerkarte "Hintergrundjobs" auf der Registerkarte überprüfen Admin-Seite. 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. 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.
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
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.
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.
Tags und Links git github ssh gitlab private-key