![Git-Klon mit SSH im Docker-Image-Build](https://rvso.com/image/1552393/Git-Klon%20mit%20SSH%20im%20Docker-Image-Build.png)
Ich erstelle ein Docker-Image und möchte ein Repository von Bitbucket klonen.
Wenn ich einen „Debian“-Container erstelle und ihn Schritt für Schritt ausführe, funktioniert alles einwandfrei. Aber wenn ich versuche, das Image zu erstellen, funktioniert es nicht.
Ich habe den Schlüssel zu den Bitbucket-Einstellungen hinzugefügt.
Hier ist meinDockerfile
FROM debian:stretch
RUN apt-get update && apt-get -y upgrade && apt-get -y install nginx curl software-properties-common gnupg git
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash -
RUN apt-get install -y nodejs
RUN mkdir /backend
RUN npm install pm2 ts-node -g
WORKDIR /backend
RUN mkdir /root/.ssh
RUN echo -e "-----BEGIN RSA PRIVATE KEY-----\n(...)-----END RSA PRIVATE KEY-----" >> /root/.ssh/id_rsa
RUN chmod 400 /root/.ssh/id_rsa
RUN ssh-keyscan bitbucket.org >> /root/.ssh/known_hosts
RUN git clone [email protected]:xxx/xxx.git
Hier ist der Fehler:
Cloning into 'xxx'...
Warning: Permanently added the RSA host key for IP address '104.192.143.3' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Wie kann ich dieses Image so erstellen, dass es ordnungsgemäß funktioniert?
Antwort1
Wenn Sie sicher sind, dass sich der richtige öffentliche Schlüssel in Bitbucket befindet, besteht die Antwort (meiner Erfahrung nach) fast immer in den Berechtigungen für den .ssh-Ordner und die darin enthaltenen Dateien. Ich sehe oben, dass Sie nur diesen Ordner und den darin enthaltenen privaten Schlüssel erstellen, aber die Berechtigungen nicht aktualisieren.
Erwartete Berechtigungen
.ssh sollte sein:
drwx------ 2 user user 4096 Feb 6 11:18 .ssh
Der private Schlüssel:
-rw------- 1 user user 1675 Feb 6 11:18 id_rsa
Schließlich sollte Ihr Home-Verzeichnis zumindest nicht von der Gruppe oder anderen beschreibbar sein. Im Allgemeinen möchten Sie:
drwx------ 84 user user 16384 Feb 16 18:23 user
Alles zusammen:
chmod go-w /root
chmod 700 /root/.ssh
chmod 600 /root/.ssh/id_rsa