Hallo,
ich habe auf meinem Server (Ubuntu 20.04) eine Gitea-Instanz eingerichtet, die soweit ordnungsgemäß zu funktionieren scheint. Die Instanz läuft auf http://git.meine.domain:3000/ und wird über SSH / HTTPS mittels eines Apache Reverse-Proxy mit einem Letsencrypt-Zertifikat angesprochen. So wird es in den meisten Anleitungen empfohlen und dies klappt auch einwandfrei.
Für den Zugriff auf Git-Repositories habe ich einen SSH-Publickkey erstellt und auf die Gitea-Instanz hochgeladen. Nachdem der SSH-Dienst meines Servers insgesamt nicht auf dem Standard-Port 22 läuft und ich mehrere Publickeys im Einsatz habe, habe ich für die Gitea-Instanz diesen Eintrag in der Datei config im Verzeichnis ~/.ssh erstellt:
Host gitea
HostName git.meine.domain
IdentityFile ~/.ssh/id_gitea
User git
Port XXXXXXXX steht für die Ziffern meines SSH-Ports. Ich kann mich nun mittels
ssh gitea
mit der Gitea-Instanz auf meinem Server verbinden und erhalte dann folgende Meldung:
Hi there, regenpfeifer! You've successfully authenticated with the key named webmaster@regenpfeifer.net, but Gitea does not provide shell access.
Genau so ist dies vorgesehen und zeigt m.E., dass die SSH-Verbindung mittels des Publickkeys ordnungsgemäß funktioniert.
Wenn ich nun aber versuche ein Repository vom Server auf meinem lokalen PC mit diesem Befehl
git clone ssh://git@git.meine.domain:XXXX/regenpfeifer/Test.git
zu klonen, erhalte ich die folgende Fehlermeldung:
Klone nach 'Test' ... Received disconnect from IPV6ADRESSE port XXXX:2: Too many authentication failures Disconnected from IPV6ADRESSE port XXXX fatal: Konnte nicht vom Remote-Repository lesen. Bitte stellen Sie sicher, dass die korrekten Zugriffsberechtigungen bestehen und das Repository existiert.
Ich deute diesen Fehler als einen Hinweis, dass der korrekte SSH-Key unter denjenigen, die auf ~/.ssh liegen, nicht gefunden wird. Der gleiche Fehler tritt nämlich auf, wenn ich den oben aufgeführten Eintrag in der Datei config deaktiviere und mich mittels
ssh -p XXXX git@git.meine.domain
mit der Gitea-Instanz verbinden möchte.
Liege ich mit dieser Einschätzung der Fehlerursache richtig und hat jemand eine Idee, wie ich den Fehler beheben kann, sodass ich mittles SSH Repositories von meinem Server auf lokale Rechner klonen kann?
Danke und beste Grüße!