SSH en Ubuntu VM de forma remota

SSH en Ubuntu VM de forma remota

No tengo mucha experiencia en redes o Linux, pero estoy intentando conectarme a una máquina virtual Ubuntu desde fuera de mi red doméstica. La máquina virtual Ubuntu (VirtualBox) se ejecuta en un escritorio Debian. Investigué un poco y descubrí que tenía que reenviar el puerto 22 del enrutador a la máquina virtual.

  • Cambié la configuración de red en la VM para puentear.
  • Estoy reenviando el puerto a la VM.
  • Lo comprobé (http://www.yougetsignal.com/) para mostrar el puerto como abierto.

Pero cuando intento conectarme todavía no funciona. ssh nombre de usuario @ - conexión rechazada

¿Hay algo que deba hacer dentro de la máquina virtual para permitir conexiones entrantes? ¿O reenviar algún puerto?

¿Hay algo que esté haciendo mal? ¡Cualquier ayuda sería muy apreciada!

Respuesta1

De forma predeterminada, VirtualBox funciona en modo "NAT", lo que significa que construye una red "virtual" y traduce los accesos a la red desde la VM para que, ante el mundo exterior, parezcan provenir de su computadora real.

VirtualBox hace que la VM piense que está conectada a una red, pero en realidad VirtualBox proporciona servicios de red, incluido un mini servidor DHCP. Luego, VirtualBox realiza accesos a la red "en nombre" de la VM, haciéndola aparecer como una aplicación más que se ejecuta en su PC.

Sin embargo, esto significa que el mundo exterior no conoce realmente la VM y no puede acceder a ella directamente.

Creo que la redirección de puertos que hiciste fue desde el enrutador de tu casa a tu PC, no a la VM. Es posible que le falte alguna configuración en el lado de VirtualBox. Disculpas si ya hiciste esto, pero tu pregunta no fue clara al respecto.

Básicamente, debe cambiar la configuración de red de la VM y configurarla en "Bridged". Lo que esto hace es crear una interfaz virtual en su PC y hace que la VM la use para acceder al mundo exterior; cualquier cosa que entre o vaya a esa interfaz se canaliza a la VM. Por lo tanto, la VM será visible como una máquina más en cualquier red a la que esté conectada su PC (¡incluso tiene su propia dirección MAC!).

Luego, dependiendo de la configuración de su red, la VM puede obtener una dirección DHCP como cualquier otra PC conectada a su enrutador, o es posible que necesite configurar una dirección IP estática para ella. Esto depende de cómo esté configurada su red.

Una vez que la VM tenga una dirección "real", puede, en su enrutador, seguir las instrucciones que encontró para enrutar el puerto 22 a la dirección IP de la VM. Esto debería funcionar como esperas.

Si no es así:

  • Mire la configuración del firewall de su VM (iptables -L -n). ¿Está bloqueando algo?
  • Configure otra computadora en su red local e intente realizar SSH a la dirección IP de la VM. Si puede, deberá volver a verificar la configuración de reenvío en su enrutador. Si no puede, debe volver a verificar la configuración de firewall y SSH de la VM.

Respuesta2

Por lo que puedo deducir, su problema radica en la red de su servidor, porque una vez que configure la red vm en modo puente, estará listo (consulte ssh <your.vm.ip.number>en la línea de comando de su servidor, no en vm).

su servidor está detrás de un enrutador, como una máquina virtual que usa NAT en su máquina.

Debe comunicarse con el administrador de red de su servidor para que pueda enviar la dirección IP local de su máquina virtual a un puerto/rango de puertos (asegúrese de que su máquina virtual tenga una dirección IP estática).

Puede hacerlo usted mismo si tuviera la autoridad en la puerta de enlace de su servidor para hacerlo.

un poco de visualización:

Internet
     '---ROUTER (SERVER1 and SERVER2 use NAT on this router)
            |   (vm1, vm2, vm3, vm4, vm5 need to be forwarded on this router)
            | 
            '--- SERVER1 (vm1, vm2, vm3 use Bridge)
            |       '---vm1
            |       '---vm2
            |       '---vm3
            '--- SERVER1 (vm4, vm5 use Bridge)
            |       '---vm4
            |       '---vm5

Respuesta3

Viendo la situación que tienes, parece que necesitas configurar el firewall para tu máquina virtual con $ sudo ufw allow ssh

Respuesta4

Capaz de hacer esto también en "modo NAT", Found Oracle VM Virtualbox tiene una función de reenvío de puertos,

Vaya a configuración de Virtualbox > Red > Adaptador (NAT) > Avanzado > Reenvío de puertos

Avanzado > Reenvío de puertos

información relacionada