Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

285
Visualizações
Copie archivos o clone a través de ssh en Dockerfile al crear una imagen acoplable

He estado intentando durante un tiempo copiar archivos a través de ssh desde un servidor remoto (no gihub) dentro de la imagen de la ventana acoplable que quiero construir, pero no puedo conectarme al host. Aquí está el Dockerfile hasta el punto crítico:

 FROM r-base:latest ### Install libs RUN apt-get update && apt-get install -y \ sudo \ gdebi-core \ pandoc \ pandoc-citeproc \ openssh-server \ openssh-client \ libcurl4-gnutls-dev \ libcairo2-dev \ libxt-dev \ xtail \ wget \ libssl-dev \ libxml2 \ libxml2-dev \ libv8-dev \ curl \ gnupg \ git COPY ./setup setup RUN mv setup/.ssh ~/.ssh RUN touch ~/.ssh/known_hosts RUN chmod -R 400 ~/.ssh RUN ssh-agent sh -c 'ssh-add /root/.ssh/id_rsa' #RUN eval "$(ssh-agent -s)" #RUN ssh-add -K ~/.ssh/id_rsa #This is commented out as it causes an error RUN ssh-keyscan hostname > ~/.ssh/known_host RUN ssh-keygen -R hostname ## THIS IS THE COMMAND WE NEED TO RUN... RUN scp -r user@hostname:/path/to/folder ./

El propietario de la carpeta es user . El id_rsa.pub se agregó al archivo authorized_keys del usuario user en el host, y ssh se reinició allí. Sin embargo, aparece un error de autenticación fallida. Traté de usar mi id_rsa personal que funciona desde la línea de comando, pero también falla dentro de la ventana acoplable. ¿Es este un emisor de ventana acoplable, es solucionable?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Finalmente logré hacerlo generando una clave con el comando sugerido en esta publicación

Entonces, para reproducir mi caso, localmente:

 cd setup/.ssh/ ssh-keygen -q -t rsa -N '' -f id_rsa

Luego, en el servidor, agregue el contenido de id_rsa.pub a los hosts conocidos para el user . Puede copiar el contenido al portapapeles usando xclip: xclip -sel clip < setup/.ssh/id_rsa.pub )

archivo acoplable:

He estado intentando durante un tiempo copiar archivos a través de ssh desde un servidor remoto (no gihub) dentro de la imagen de la ventana acoplable que quiero construir, pero no puedo conectarme al host. Aquí está el Dockerfile hasta el punto crítico:

 FROM r-base:latest ### Install libs RUN apt-get update && apt-get install -y \ sudo \ gdebi-core \ pandoc \ pandoc-citeproc \ openssh-server \ openssh-client \ libcurl4-gnutls-dev \ libcairo2-dev \ libxt-dev \ xtail \ wget \ libssl-dev \ libxml2 \ libxml2-dev \ libv8-dev \ curl \ gnupg \ git COPY ./setup setup RUN chmod -R 600 ~/.ssh RUN echo "IdentityFile /root/.ssh/id_rsa" >> /etc/ssh/ssh_config RUN echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config ## THIS IS THE COMMAND WE NEED TO RUN... RUN scp -r user@hostname:/path/to/folder ./
over 4 years ago · Santiago Trujillo Relatório

0

No hay un requisito específico de que deba hacer todo dentro de su Dockerfile. Especialmente las cosas que requieren acceso ssh remoto se hacen mejor fuera de Docker: considere que cualquier persona que obtenga su imagen más adelante puede docker cp una clave ssh válida de Docker y potencialmente obtener acceso a sus sistemas internos.

Por razones de almacenamiento en caché de Docker, tampoco es una buena idea git clone o intentar recuperar de forma remota su aplicación desde el Dockerfile. Si vuelve a ejecutar docker build y no ha cambiado nada más en su Dockerfile, Docker también omitirá el paso scp , incluso si el contenido remoto ha cambiado.

Mi recomendación general sería copiar este contenido desde fuera del Dockerfile y luego compilarlo.

 # Using whatever credentials are in your local ssh-agent scp -r user@hostname:/path/to/stuff dist/ # Then your Dockerfile doesn't need scp or credentials docker build .

Su Dockerfile entonces no necesita un montón de paquetes adicionales que solo son relevantes para esta ruta: debería poder eliminar sudo openssh-server openssh-client xtail curl gnupg git sin afectar realmente el único proceso principal que está tratando de ejecutar dentro de su contenedor.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda