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 von go get github.com/
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-Konfigurationsbefehl zu Ihrem hinzufügen Docker-Datei, die die Verwendung von SSH anstelle des Standard-HTTPS-Protokolls für das GitHub-Klonen erzwingt. Hier ist eine Beispiel-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://[email protected]/.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.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3