es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

BuildKit: la montaña ssh no funciona correctamente en el contenedor

Aquí está la situación. Estoy intentando construir una imagen usando BuildKit en Docker WSL2, proporcionando ~/.ssh/config:

Host
Port 22022
User git
PubkeyAuthentication yes
IdentityFile ~/.ssh/id_rsa
Ciphers +aes256-cbc

haciendo la adición de la clave ssh:

eval ssh-agent -s
ssh-add ~/.ssh/id_rsa

Fragmento de Dockerfile:

FROM debian:10

RUN \
apt update && apt -y install git; \
mkdir /root/.ssh; \

RUN --mount=type=ssh \
ssh-keyscan -t rsa -p 22022 <host> >> /root/.ssh/knownhosts; \
ssh-keyscan -t rsa -p 22022 "$(getent hosts <host> | awk '{ print $1 }')" >> /root/.ssh/knownhosts; \
git clone ssh://git@gitlab.seventest:22022/some/project.git /root/project

pero cuando Docker llega a la clonación, veo lo siguiente:

Cloning into '/root/project'...

10 0.313 Unable to negotiate with <host ip=""> port 22022: no matching cipher found. Their offer: aes256-cbc

10 0.313 fatal: Could not read from remote repository.

10 0.313

10 0.313 Please make sure you have the correct access rights

10 0.313 and the repository exists.

Como se ve en la configuración, el cifrado está definido en la configuración ssh. Además, tengo el archivo known_hosts vacío después de ssh-keyscan. Y antes de que preguntes, puedo clonar proyectos en el host sin estos problemas.

Sé que puedo solucionar el problema pasando las claves ssh directamente, pero como BuildKit ofrece esta oportunidad, ¿qué estoy haciendo mal?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Basándonos en la información proporcionada, parece que tienes dificultades para clonar un proyecto usando BuildKit en Docker WSL2. Has proporcionado la configuración necesaria en tu archivo ~/.ssh/config, y también has añadido la clave SSH con ssh-add. Has añadido el host al archivo known_hosts. Sin embargo, cuando intentas clonar el proyecto, recibes un mensaje de error indicando que no se encontró ningún cifrado coincidente.

    Es posible que el cifrado que has especificado en tu archivo ~/.ssh/config no sea compatible con el host remoto. Es posible que necesites probar con un cifrado diferente, o que puedas solucionar el problema pasando directamente la clave SSH.

Comments are closed.