SSH en Ubuntu VM de forma remota

10

No tengo mucha experiencia en redes o Linux, pero estoy tratando de ingresar 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 desde el enrutador a la máquina virtual.

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

Pero cuando intento conectarme, todavía no funciona. ssh username @ - conexión rechazada

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

¿Hay algo que esté haciendo mal, cualquier ayuda sería muy apreciada!

usuario1354275
fuente
Cómo se conecta en red la VM con el host. Si está detrás de un NAT (predeterminado en la caja virtual). No funcionaría, pero una conexión en puente debería funcionar siempre que haya reenviado los puertos correctamente.
Matt Mootz
Estás utilizando ssh username @ router-ip-address ¿verdad?
cprofitt
1
si nombre de usuario @ public-ip-address ¿es correcto?
user1354275
Ubuntu listo para usar incluye el cliente OpenSSH , que le permite conectarse a otra computadora con servidor SSH. Para conectarse a Ubuntu, debe cargar el servidor OpenSSH ( sudo apt-get install openssh-server ) en la máquina de destino.
david6

Respuestas:

15

De forma predeterminada, VirtualBox funciona en modo "NAT", lo que significa que construye una red "virtual" y traduce los accesos de red desde la VM para que, al 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 accede a la red "en nombre" de la VM, lo que hace que parezca una aplicación más que se ejecuta en su PC.

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

Creo que la redirección de puerto 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 establecerla en "Bridged". Lo que esto hace es que crea una interfaz virtual en su PC y hace que la VM la use para acceder al mundo exterior; todo lo que entre o vaya a esa interfaz se canaliza a la VM. Por lo tanto, la VM será visible como otra máquina 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 puede que necesite configurar una dirección IP estática para ello. Esto depende de cómo esté configurada su red.

Una vez que la VM tiene 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 lo espera.

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 SSH a la dirección IP de la VM. Si puede, debe verificar la configuración de reenvío en su enrutador. Si no puede, debe volver a verificar la configuración de SSH y firewall de la VM.
roadmr
fuente
Hola roadmr, cambié la configuración de red a bridge y reenvié el puerto a la VM, ya que tiene su propia ip y el enrutador pudo encontrarla. Tengo una ip estática por el isp. Pero todavía no funciona
user1354275
1

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

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

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

Puede hacerlo usted mismo si tenía 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
apisKod
fuente