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

531
Visualizações
credenciales ssh en la imagen docker

Tengo una aplicación funcionando correctamente con docker-compose up . Esa aplicación se conecta mediante SSH a mi máquina host y ejecuta algunos comandos. En este momento, proporciono las credenciales de SSH escribiéndolas en el código fuente de esta manera:

 const pass = 'mypassword'; let username = 'myusername'; let host = '172.17.0.1';

Estoy tratando de seguir esta guía para proporcionar las credenciales de una mejor manera. No puedo entender cómo funciona esta línea privateKey: require('fs').readFileSync('/here/is/my/key') ¿Es una ruta relativa, es la "clave" un archivo con la contraseña como texto sin formato? ¿Hay algo que deba proporcionar desde mi máquina host? ¿Cómo puedo dar las credenciales en un contenedor docker?

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

0

En general, para pasar parámetros a un contenedor para que los lea el script de Node.js, puede:

  • Aproveche las variables de entorno ( https://docs.docker.com/engine/reference/commandline/run/#set-environment-variables--e---env---env-file )
  • Monte un directorio desde el sistema host en el contenedor en ejecución usando volúmenes ( https://docs.docker.com/storage/volumes/ )
  • Páselos como parámetros ( Cómo pasar argumentos a Shell Script a través de la ejecución de la ventana acoplable ).
  • Descárgalas desde un servidor remoto

Para datos secretos como las credenciales de SSH, desaconsejaría el uso de argumentos o variables de entorno porque se pueden inspeccionar desde varias fuentes. Este artículo explica bien por qué: https://diogomonica.com/2017/03/27/why-you-shouldnt-use-env-variables-for-secret-data/

En su lugar, crearía un archivo de configuración simple que su secuencia de comandos de Node.js pueda leer.

 { "username": "myuser", "password": "pass", "host": "172.17.0.1", ... }

Puede colocar este archivo en un directorio de su sistema host y montarlo en /myvolume en el contenedor cuando inicie su contenedor:

 docker run -it -v host-directory:/myvolume myimage

Su secuencia de comandos Node.js ahora puede leer el archivo JSON:

 const configFilePath = "/myvolume/secret-config.json" const config = JSON.parse(fs.readFileSync(configFilePath)); // now you can use config.host, config.username and config.password

Como nota al margen: recomiendo configurar su servidor SSH remoto para usar autenticación de clave privada/pública, ya que las contraseñas generalmente son menos seguras. Una vez que haya configurado la autenticación de clave privada/pública, puede colocar el archivo de clave privada en el mismo volumen y cargarlo desde su secuencia de comandos Node.js de manera similar :)

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