Heim  >  Artikel  >  Backend-Entwicklung  >  Wie behebt man den Fehler „Schwerwiegend: Benutzername für „https://github.com“ konnte nicht gelesen werden: Kein solches Gerät oder keine solche Adresse“ beim Klonen privater GitHub-Repos in Docker?

Wie behebt man den Fehler „Schwerwiegend: Benutzername für „https://github.com“ konnte nicht gelesen werden: Kein solches Gerät oder keine solche Adresse“ beim Klonen privater GitHub-Repos in Docker?

Barbara Streisand
Barbara StreisandOriginal
2024-11-16 13:26:03894Durchsuche

How to Resolve

Docker: Beheben von GitHub-SSH-Schlüsselproblemen für das private Repo-Klonen

Beim Versuch, einen Container auszuführen, der einen Golang-Dienst von einem privaten GitHub nutzt Im Repository können während des Go-Get-Vorgangs Fehler auftreten. Ein solcher Fehler hängt mit Problemen beim Lesen des öffentlichen GitHub-SSH-Schlüssels zusammen.

Problem:
Beim Ausführen gehen Sie get github.com// Innerhalb einer Docker-Datei schlägt der Prozess mit dem Fehler fehl: „Schwerwiegend: Benutzername für ‚https://github.com‘ konnte nicht gelesen werden: Kein solches Gerät oder keine solche Adresse.“

Ursache:
Dieser Fehler weist darauf hin, dass die Docker-Datei nicht ordnungsgemäß für die Authentifizierung bei GitHub über SSH konfiguriert ist. Der Befehl ssh-keyscan deckt eine Nichtübereinstimmung zwischen dem öffentlichen Schlüssel und dem Datensatz des Remote-Hosts auf.

Lösung:
Um dieses Problem zu beheben, müssen Sie einen Git-Config-Befehl zu Ihrem hinzufügen Docker-Datei, die die Verwendung von SSH anstelle des Standard-HTTPS-Protokolls für das GitHub-Klonen erzwingt. Hier ist ein Beispiel einer Docker-Datei, die diesen Fix enthält:

FROM golang

RUN apt-get update && apt-get install -y ca-certificates git-core ssh

ADD keys/my_key_rsa /root/.ssh/id_rsa
RUN chmod 700 /root/.ssh/id_rsa
RUN echo "Host github.com\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config
RUN git config --global url.ssh://git@github.com/.insteadOf https://github.com/

ADD . /go/src/github.com/myaccount/myprivaterepo

RUN go get github.com/myaccount/myprivaterepo
RUN go install github.com/myaccount/myprivaterepo

Diese überarbeitete Docker-Datei stellt sicher, dass SSH für das GitHub-Klonen verwendet wird, und behebt den Fehler im Zusammenhang mit dem Lesen des öffentlichen Schlüssels. Es enthält auch die notwendigen Schritte zur Installation von SSH und zur Konfiguration des Identitätsschlüssels.

Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Schwerwiegend: Benutzername für „https://github.com“ konnte nicht gelesen werden: Kein solches Gerät oder keine solche Adresse“ beim Klonen privater GitHub-Repos in Docker?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn