Clon de Git con ssh en la compilación de imágenes de Docker

Clon de Git con ssh en la compilación de imágenes de Docker

Estoy creando una imagen de Docker y quiero clonar un repositorio de Bitbucket.

Si creo un contenedor `debian' y lo ejecuto paso a paso, todo funciona bien. Pero cuando intento crear la imagen, no funciona.

Agregué la clave a la configuración de Bitbucket.

Aquí está miDockerfile

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

Aquí está el error:

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.

¿Cómo puedo crear esta imagen para que funcione correctamente?

Respuesta1

Si está seguro de que la clave pública correcta está en Bitbucket, la respuesta (en mi experiencia) casi siempre son los permisos en la carpeta .ssh y los archivos que contiene. Veo arriba que simplemente crea esa carpeta y la clave privada que contiene, pero no actualiza los permisos.

Permisos esperados

.ssh debería ser:

drwx------  2 user user 4096 Feb  6 11:18 .ssh

La clave privada:

-rw-------  1 user user 1675 Feb  6 11:18 id_rsa

Finalmente, al menos no se debe poder escribir en su directorio de inicio por grupo u otro; generalmente lo que desea es:

drwx------ 84 user user 16384 Feb 16 18:23 user

Poniendolo todo junto:

chmod go-w /root
chmod 700 /root/.ssh
chmod 600 /root/.ssh/id_rsa

información relacionada