Aislamiento de distro linux (ubuntu 18.04 y 20.04) en wsl

Aislamiento de distro linux (ubuntu 18.04 y 20.04) en wsl

En Windows 10, instalé 2 tipos de distribución de Linux, Ubuntu 18.04 y Ubuntu 20.04 usando WSL. Quiero configurar 20.04 para el puerto ssh 22 y 18.04 para el puerto ssh 2222. ¿Estos cambios afectarán a alguna de las distribuciones?

Cuando instalamos estas distribuciones, ¿están aisladas o se afectarán entre sí?

Respuesta1

Puede cambiar el puerto SSH tanto como desee en cualquiera (o ambos) de sus sistemas. No tendrá ningún impacto; sus sistemas funcionarán normalmente con la configuración del puerto modificada.

SSH es parasuinteracción con el sistema. Ningún proceso interno lo utiliza. Una instalación estándar de Ubuntu Desktop ni siquiera tiene un servidor SSH.

Respuesta2

Bueno, existe la "respuesta simple" que responde a tu pregunta, pero probablemente no te ayude mucho. Y luego está "lo que realmente necesitas hacer para ejecutar un servidor SSH en WSL".

Respuesta simple, como ya han dicho otros: cada instancia puede operar su propio servidor SSH de forma relativamente aislada.

Respuesta más larga... escomplicado. Ejecutar un servidor SSH en WSL es una cosa. En realidad, poder conectarse a él de forma remota es otra cosa completamente distinta. Debe preocuparse por el reenvío de puertos, los firewalls y el inicio del servicio (algo que WSL no hace bien en ausencia de systemd).

Primero, sería útil conocer los casos de uso de ssh en WSL.

Si solo desea acceder a sus instancias de forma remota, creo que es más fácil simplementeinstalar el servidor OpenSSH de Windows 10en el propio anfitrión. Una vez implementado esto, la única configuración real que debe realizar es abrir el puerto 22 en el Firewall de Windows. Y la frase breve para eso se incluye en las instrucciones de Microsoft vinculadas anteriormente para la instalación.

Con el servidor OpenSSH instalado en Windows, puede utilizar:

ssh -t <user@windows_host_or_ip> wsl -d <wsl_instance_name>

... para llegar a su instancia WSL. No es -d <wsl_instance_name>necesario para su instancia WSL predeterminada.

Pero quizás tenga alguna otra razón para necesitar acceso SSH a las instancias WSL. Por ejemplo, uso Ansible para conectarme y configurar algunas de mis instancias WSL en varias máquinas. Esto requiere que se ejecute un servidor SSH "real" para cada instancia.

En ese caso, es necesario encontrar soluciones para:

  • Reenvío de puertos desde el host de Windows a instancias WSL2 (WSL1 no requiere reenvío de puertos, ya que su red funciona "en puente" con la interfaz de red de Windows).
  • Iniciando el sshdservicio en cada instancia (no es automático)

En mi opinión, la solución más sencilla aquí sigue siendo instalar el servidor OpenSSH de Windows en el puerto 22 y luego configurar cada instancia WSL con su propio servidor OpenSSH también, pero (por supuesto) en puertos diferentes. Luego puede utilizar el host de Windows como "host de salto" para acceder a las instancias que contiene. Las instrucciones detalladas para esto se pueden encontrar enesta respuestaen Superusuario.

Esto también resuelve el comando "iniciar sshden WSL problem, because you can use a syntax similar to the earlier one I mentioned (using thewsl`a través deWindows ssh) para iniciar el servicio de forma remota. En otras palabras, siempre que el servidor SSH de Windows esté configurado para iniciarse automáticamente, puede usarlo para iniciar cualquiera de los servidores SSH de instancias WSL. Los detalles, nuevamente, se pueden encontrar en esa respuesta.

También vale la pena leerlo.esta respuestaen Superusuario sobre escenarios generales de reenvío de puertos en WSL.

información relacionada