Gitea bietet falschen SSH-Schlüssel an

Gitea bietet falschen SSH-Schlüssel an

Ich führe Gitea auf einer virtuellen Maschine aus, die öffentlich unter zugänglich ist gitea.myorg.foo. Hier ist der Serverteil, der für meine SSH-Konfiguration meiner Konfigurationsdatei relevant ist:

[server]                                                                                                                       
SSH_DOMAIN       = gitea.myorg.foo                                                                                            
DOMAIN           = gitea.myorg.foo                                                                                            
ROOT_URL         = https://gitea.myorg.foo/                                                                                   
DISABLE_SSH      = false                                                                                                       
SSH_PORT         = 22                                                                                                                                                                                                                                                                                                     
OFFLINE_MODE     = false

Das bedeutet, dass ich das SSHD des Servers ausführe, nicht das interne SSHD von Gitea.

Der Server läuft unter einem Benutzer namens git. In /home/git/.ssh/authorized_keyswerden die autorisierten Schlüssel (pro Benutzer und Bereitstellungsschlüssel) aufgelistet.

Leider wird der Bereitstellungsschlüssel nicht angeboten, wenn ich versuche, ein Repository mit aktiviertem Bereitstellungsschlüssel zu klonen.

Angenommen, ich möchte klonen [email protected]/org/repo.git. Dann wird mir ein Schlüssel mit einer völlig anderen Signatur angeboten als die, die unter „Schlüssel bereitstellen“ in der Web-Benutzeroberfläche angezeigt wird. Wenn ich ausführe ssh-keyscan gitea.myorg.foo, erhalte ich nur Signaturen.nichtzu finden in /home/git/.ssh/authorized_keys.

Wie kann ich herausfinden und konfigurieren, welche Schlüssel SSH dem Client anbietet?

Bearbeiten: Mir ist aufgefallen, dass der angebotene Schlüssel der ist, der als HostKeyin definiert markiert ist /etc/ssh/sshd_config. Muss ich den internen SSH-Server von Gitea verwenden oder kann ich meinen nativen SSH-Server entsprechend konfigurieren?

Antwort1

Ich habe den Hostschlüssel und meinen Bereitstellungsschlüssel verwechselt. Dass der Hostschlüssel zurückgegeben wird, ist völlig in Ordnung. Allerdings habe ich den Fehler gemacht, mich in der .knwon_hostsDatei auf den Bereitstellungsschlüssel zu verlassen, obwohl ich stattdessen den Hostschlüssel verwenden sollte.

verwandte Informationen