VirtualBox Host ssh a Guest

53

Tengo un host mac y un invitado VirtualBox Linux, actualmente usando el modo Bridged.

Necesito poder ingresar fácilmente SSH al huésped desde el host. Sería bueno usar un nombre de host, pero una dirección IP que nunca cambie también estaría bien (actualmente, la IP cambia con cada nueva red a la que me uno y el nombre de host nunca ha funcionado).

También necesito acceso a internet del huésped.

Otras máquinas en la red no necesitan acceso al invitado.

¿Cuál es la mejor manera de configurar mi red VirtualBox?

Thomas Hunter
fuente
1
En relación con esto, considere iniciar el invitado VB sin GUI: superuser.com/questions/135498/…
Fabricio PH

Respuestas:

36

Primero, tendrás que crear la vboxnet0interfaz.

VirtualBox> Archivo> Preferencias> Red> Redes de solo host> Agregar (obtendrá vboxnet0)

Luego, ejecute esto en la máquina host. Verás una nueva interfaz vboxnet0, apareció.

ifconfig

Apague su VM y haga:

VM's Settings > System > check "Enable I/O APIC."
VM's Settings > Network > Adapter 2 > host-only vboxnet0

Iniciar VM, en ejecución de invitado

ifconfig

y verifique ip

Revisa estos enlaces:

  1. https://forums.virtualbox.org/viewtopic.php?f=8&t=40076
  2. http://www.wiredrevolution.com/virtualbox/setup-ssh-access-between-virtualbox-host-and-guest-vms

También hay una solución para NAT pero no la he comprobado.

Configurar el reenvío de puertos con NAT en su máquina host

VBoxManage modifyvm "VM name" --natpf1 "guestssh,tcp,,2222,,22"

conéctese a su Linux a través del puerto 2222 de su máquina host

ssh -l -p 2222 localhost

Para redes de solo host con ip estática, verifique esto:

https://stackoverflow.com/questions/5906441/how-to-ssh-to-a-virtualbox-guest-externally-through-a-host/27152153#27152153

Es para Solaris 10 y Ubuntu 16.04, pero debería ser fácil de adaptar.

rofrol
fuente
2
Gracias, terminé habilitando el reenvío de puertos de VirtualBox y puedo conectarme a través de ssh localhost -p 7022.
Thomas Hunter
Agradable, el reenvío de puertos funcionó a las mil maravillas. Aunque hice la configuración en la GUI de Virtualbox en lugar de con VBoxManage. Allí también debe configurar su dirección IP de host e invitado, que debería ser 127.0.0.1 y 10.0.2.15 respectivamente.
Sebastian Ganslandt
Edición menor a la primera oración. Debe leer: VirtualBox> Configuración> Red> 'Redes de solo host'> Agregar (obtendrá vboxnet0)
Steve Swinsburg
He hecho todo esto para la configuración de solo host, y cuando intento ingresar desde mi host, simplemente se cuelga (hasta que se agota el tiempo de espera). ¿Hay algo mas?
Chris Westin
37

Entre dos máquinas Linux (un host de Ubuntu de 32 bits y una VM de Ubuntu de 64 bits), logré que ssh funcionara utilizando este reenvío de puertos:

ingrese la descripción de la imagen aquí

Luego, desde su sistema host, ejecute

ssh -p 5679 127.0.0.1

Sustituya 5679con el "Puerto de host" ingresado en las Reglas de reenvío de puertos.

719016
fuente
8
Hice exactamente lo mismo, solo sin ingresar ninguna "Host IP" e "Guest IP".
Damien Cassou
En mi caso, la imagen de ubuntu no vino con ssh instalado (hubiera esperado). Así que ejecuté 'apt-get install openssh-server' y pude conectarme con 'ssh -p 5679 localhost'. Según los otros comentarios, no puse ninguna IP de host o invitado.
Pierre-Antoine
2

Si no desea perder el tiempo con el reenvío de puertos, puede configurar un adaptador de solo host que aparece como una interfaz de host y luego agregar una dirección IP dentro de esa subred en el invitado.

Pasos:

  • Cree una red de solo host en Virtualbox (GUI -> configuración -> red). Escriba ifconfigel host y vea algo como vboxnet0coninet 192.168.50.1
  • en invitado, agregue una dirección IP: ifconfig eth1 192.168.50.101 netmask 255.255.255.0 up
  • en host, ejecutar ssh [email protected]

Otras lecturas:

Ben Creasy
fuente
1

Puede que sea mejor configurar su NIC virtual en modo NAT si se está moviendo bastante. Usando NAT, el host (su PC) se convierte en el servidor DHCP y enrutador para una red privada que se crea para sus sistemas operativos invitados. Estoy bastante seguro de que puede configurar una dirección estática usando NAT también ...

Sin embargo, creo que la mejor solución es descubrir por qué la resolución de nombres no funciona para su VM invitada :)

https://www.virtualbox.org/manual/ch06.html#network_nat

John
fuente
2
Configuro el modo NAT, y mi invitado tiene asignada la ip 10.0.2.15. Sin embargo, desde el host (cuya IP es 192.168.1.120), no puedo comunicarme con el invitado. La guía pudo explicarme los diferentes modos, pero no parecía tener una solución para mi problema.
Thomas Hunter
0

Muy útil, ponme en la dirección correcta. Gracias.

Tuve que ir a> VirtualBox> Archivo> Host Network Manager> vboxnet0> Configurar el adaptador manualmente> Dirección IPv4 y configurarlo en la configuración if del invitado. Por alguna razón, el anfitrión y el invitado me estaban dando diferentes IP.

Se menciona, pero para ser explícito, tuve que configurar el puerto de reenvío de puerto para 127.0.0.1 a 5679 y no el puerto ssh predeterminado 22, ya que eso ya está en uso por la propia comunicación ssh del host.

remkohdev
fuente