Dietpi : Gitea Server/Repository via SSH nicht erreichbar

_poc

Ensign
Registriert
März 2008
Beiträge
174
Mein Probleme und Lösungen:

Ich hatte auf meinen Raspberry Pi 3B+, worauf DietPi läuft, Gitea installiert. Dieses hatte ich über das DietPi-Software Interface installiert.

Die Installation hatte ohne Probleme funktioniert.

Über SSH habe ich versucht meine Repositorys zu clonen.
Zuvor musste ich noch OpenSSH auf dem Server installieren, da ursprünglich Dropbear als SSH-Server vorinstalliert war.

Beim clonen wurde folgender Fehler geworfen:
„Cloning into 'Test'... ssh: connect to host localhost port 22: Connection refused fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.“

Was mich stutzig gemacht hatte, war die SSH Adresse, die auf Gitea angezeigt wurde:
dietpi@localhost:_poc/Test.git

Obwohl Gitea auf IP läuft, wird dauern Localhost angezeigt. Dies lag an der fehlenden Gitea-Konfiguration, welche ich beim installieren vergessen habe.

Falls bei euch auch Localhost anstelle der IP-Adresse angezeigt wird (bei SSH), kann dies an der fehlenden Gitea-Konfiguration liegen.
Die Konfiguration app.ini befindet sich bei mir unter:
/mnt/dietpi_userdata/gitea/custom/conf.

Folgende Konfiguration (Auszug) hat bei mir geholfen:

[server] SSH_DOMAIN = EureIPOhnePort DOMAIN = EureIPOhnePort HTTP_PORT = 3000 ROOT_URL = http://EureIP:3000/ DISABLE_SSH = false SSH_PORT = 22 LFS_START_SERVER = true LFS_CONTENT_PATH = /mnt/dietpi_userdata/gitea/data/lfs LFS_JWT_SECRET = EuerSecret OFFLINE_MODE = true

Danach habe ich meinen PI neugestartet. Die SSH-Adresse wird nun richtig angezeigt. Leider wurde mein SSH-Key, obwohl in Gitea eingetragen, nicht erkannt.

Folgendes behebt diesen Fehler.

Ich habe nun folgendes gemacht (Server):
In der /etc/ssh/ssh_config habe ich folgende Zeile gefunden:
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
Diese ist auskommentiert. Nun liegt meine authorized_keys aber im gitea Ordner (/mnt/dietpi_userdata/gitea/.ssh).

Deshalb habe ich folgende Zeile hinzugefügt:
AuthorizedKeysFile /mnt/dietpi_userdata/gitea/.ssh/authorized_keys

Danach kann ich ohne Probleme clonen, pushen usw.

Ich hoffe dies kann euch einniger maßen helfen. Lest euch gerne die Antworten unten von @BlackMark durch, diese bieten noch ein paar weitere Kniffe.

Vielen Dank @BlackMark

----------------

Ursprüngliche Frage:

Hallo zusammen,

ich stecke irgendwie fest und hoffe mir kann geholfen werden :-) .

Seit einem Jahr benutze ich eine Raspberry Pi 3B+ mit DietPi.
Darauf läuft bei mir die Pihole. Diese funktioniert, soweit ich das einschätzen kann, sehr gut.

Vor paar Tagen habe ich über Pihole, Gitea installiert. Dies lief soweit ohne Probleme. Als ich einen SSH-Key in meinen Account einsetzen wollte, hatte ich die ganze Zeit einen 500-Fehler. Dies lag wohl daran, dass „Dropbear“ als SSH-Server installiert war. Ich habe das daraufhin über Pihole „OpenSSH“ installiert und konnte dann ohne weitere Probleme meinen SSH-Key in Gitea einfügen.

Mein Problem, welches ich seit Tagen nicht lösen kann, ist das ich es nicht schaffe über das Terminal (Mac) meine Repository zu clonen. Ich weiß leider nicht, wie bzw. was ich konfigurieren muss, damit ich über ssh Zugriff auf meine Repository/Gitea bekomme. Auf mein Gitea komme ich über „IP:3000“.

Wenn ich auf meinen Gitea-Server bin und dann auf mein Repository gehe, wird mir folgender Link zum clonen via SSH angezeigt:
dietpi@localhost:_poc/Test.git
Mir erscheint das irgendwie falsch. Nach meinen Gefühl (wahrscheinlich falsch :-P), müsste der Link wie folgt aussehen:
"accountName@IP:3000/_poc/Test.git"

Wenn ich das allerdings versuche, dann werde ich im Terminal nach einen Passwort gefragt. Ich will aber eigentlich über SSH darauf zugreifen.

Wenn ich die oben genannten Link (dietpi@localhost:_poc/Test.git) eingebe, dann kommt immer folgender Fehler:

„Cloning into 'Test'... ssh: connect to host localhost port 22: Connection refused fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.“

Wie ihr sicherlich merkt und euch an die Stirn fasst, habe ich leider keinerlei Anhaltspunkte wie und was ich konfigurieren muss. Ich habe etliche Stunden danach gesucht und sicherlich gibt es eine Anleitung ich partout nicht finden kann. Ich bin leider was Server und deren Konfiguration angeht nicht so bewandert und dies ist mein erster Versuch.

Ich hoffe mir kann jemand helfen.

Schöne Grüße
_poc
 
Zuletzt bearbeitet: (Lösung hinzugefügt)
  • Gefällt mir
Reaktionen: BlackMark
Hi,

an sich bekommst Du ja eine Fehlermeldung die Dir alles sagen sollte. Deine SSH Verbindung wird abgelehnt! Du solltest also mal schauen ob der SSH Port noch korrekt ist oder ob Deine Firewall da etwas blockiert.
 
_poc schrieb:
„Cloning into 'Test'...
ssh: connect to host localhost port 22: Connection refused
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.“

Auf Port 22 auf localhost lauscht kein Listener. Vulgo: Es läuft kein ssh-server auf localhost.
 
Hallo, ich habe jetzt über die Mac-Einstellungen scheibar den Port 22 geöffnet. Der Fehler kommt nicht mehr. Leider werde ich jetzt beim "clonen" nach einem Passwort gefragt, von dem ich nicht weiß, um welches es sich handeln soll.

git clone dietpi@localhost:_poc/Test.git Cloning into 'Test'... Password: Password: Password: dietpi@localhost's password:

Schöne Grüße
_poc
 
Hallo zusammen,

ich habe es soweit geschafft, dass ich nun das Repository clonen kann.

Mein größter Fehler lag wohl daran, dass ich den Gitea-Server nicht richtig konfiguriert hatte. Hierdurch wurde mir auch localhost, anstelle der eigentlichen IP angezeigt. Dadurch ist der Fehler aber nicht verschwunden. Ich wurde beim clonen dauernd nach einem Passwort gefragt.

Ich habe nun folgendes gemacht (Server):
In der /etc/ssh/ssh_config habe ich folgende Zeile gefunden:

#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
Diese ist auskommentiert. Nun liegt meine authorized_keys aber im gitea Ordner.

Deshalb habe ich folgende Zeile hinzugefügt:
AuthorizedKeysFile /mnt/dietpi_userdata/gitea/.ssh/authorized_keys

Danach kann ich ohne Probleme clonen, pushen usw.

Meine Frage lautet nun: War das so OK? Nur weil es funktioniert, heißt es nicht, dass es auch eine gute Lösung ist.

Schöne Grüße
_poc
 
Kannst du schon machen. Spricht eigentlich nichts dagegen, sofern dieser Pfad nicht irgendwie extern zugänglich ist und die richtigen permissions hat (700 für .ssh und 600 für authorized_keys) und du nicht vor hast über ssh-copy-id weitere Keys hinzuzufügen, denn ich vermute das wird nicht gehen.
Alternativ kannst du auch das authorized_keys file nach ~/.ssh/authorized_keys kopieren (als der User, über den du clonen willst, in deinem Fall scheint das dietpi zu sein), und die ssh config wieder auf default stellen, sollte zum gleichen Resultat führen und hat den Vorteil, dass ssh-copy-id funktioniert.

_poc schrieb:
Meine Frage lautet nun: War das so OK? Nur weil es funktioniert, heißt es nicht, dass es auch eine gute Lösung ist.
Wenn nur mehr Leute sich dieser Tatsache bewusst wären. Großes Lob an dich, diese Frage zu stellen!

Gruß
BlackMark
 
  • Gefällt mir
Reaktionen: _poc
Hallo,

ich gehe gerade die permissions durch und diese sind so wie ich das sehen kann, nicht richtig gesetzt.

.ssh 775
authorized_keys 600 (ist richtig)

Ich habe nun die Persmission von .ssh auf 700 geändert.
Es scheint alles weiter zu funktionieren.

Ich habe erst einmal nicht vor, über ssh-copy-id zu gehen. Also kann ich das, wenn richtig verstanden, so lassen :) ?

Vielen Dank @BlackMark

Ich werde die Woche versuchen den Startpost anzupassen, wo ich meine Frage ein wenig besser beschreibe und die Lösung dafür beschreibe. Habe den Fehler ein paar Mal beim Suchen gefunden, aber nie eine Lösung die ich nutzen konnte.

Schöne Grüße
_poc
 
_poc schrieb:
Also kann ich das, wenn richtig verstanden, so lassen :) ?
Ja, kannst du so lassen.

Was mir auch noch eingefallen ist, wenn dir der originale Pfad wichtig ist, kannst du auch einfach einen Symlink von ~/.ssh nach /mnt/dietpi_userdata/gitea/.ssh machen. Dann musst du die ssh config nicht ändern, also kannst sie wieder auf default setzen, und hast aber trotzdem in deinem gitea Pfad das file. Ich denke das ist die Lösung, die ich bevorzugen würde. Vor allem weil dann auch ssh-copy-id geht.
Aber wie gesagt, du kannst es auch einfach so lassen.

Gruß
BlackMark
 
  • Gefällt mir
Reaktionen: _poc
Habe meine Ursprüngliche Frage neu formuliert und einen Lösungsweg der bei mir funktioniert hatte, hinzugefügt. Vielen Dank @BlackMark

Theoretisch kann der Thread auf "Solved" gesetzt werden.
 
Zurück
Oben