i have this dockerfile:
FROM openjdk:11
COPY . .
RUN apt-get update -y
RUN apt-get install -y python
RUN mkdir -p /root/.ssh &&
chmod 0700 /root/.ssh &&
ssh-keyscan gitlab.com > /root/.ssh/known_hosts
ARG SSH_KEY=autofilled
RUN echo $SSH_KEY | python -c "key = raw_input();print "-----BEGIN OPENSSH PRIVATE KEY-----" + "\n" + "\n".join(key[i:i+64] for i in range(0, len(key), 64)) + "\n" + "-----END OPENSSH PRIVATE KEY-----"" > /root/.ssh/id_rsa
RUN chmod 600 /root/.ssh/id_rsa
RUN git submodule init
RUN git submodule update
RUN chmod -R +x ./sbt-dist
RUN chmod +x ./sbt
RUN ./sbt dist
WORKDIR ./target/universal
RUN unzip ./dist.zip
WORKDIR ./dist/bin
RUN chmod +x ./smart-flats
EXPOSE 5000
CMD ["./smart-flats", "-Dhttp.port=5000", "-J-Xmx1536m"]
but when i try to build it with latest docker version, i get this error:
Step 10/19 : RUN git submodule update
---> Running in dac2651ed54a
Cloning into '//tyrion-core'...
Warning: Permanently added the ECDSA host key for IP address '172.65.251.78' to the list of known hosts.
Load key "/root/.ssh/id_rsa": invalid format
[email protected]: Permission denied (publickey,keyboard-interactive).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of '[email protected]:byzance/tyrion-core.git' into submodule path '//tyrion-core' failed
Failed to clone 'tyrion-core'. Retry scheduled
Can anyone tell me, how should i repair this dockerfile? Thnanks!!
2
Answers
Looks like you created your key in MacOS.
Linux-based systems mostly using RSA type, but MacOS’s
ssh-keygen
generatingOpenSSH
ssh key by default, notRSA
.RSA key should start from
-----BEGIN RSA PRIVATE KEY-----
But OpenSSH’s first line is
-----BEGIN OPENSSH PRIVATE KEY-----
Just create new RSA key or convert your OpenSSH key to RSA
The number of characters per line might not be correct.
I tested with this line and it generated the correct key :