Pregunta ¿Cómo SSH a un invitado de VirtualBox externamente a través de un host?


Tengo una Ubuntu VM ejecutándose en mi máquina con Windows 7. ¿Cómo lo configuro para que pueda acceder al servidor web externamente a través de SSH?

Encontré pasos (Configurar el acceso SSH entre VirtualBox Host y Guest VMs) para poder enviar ssh a mi invitado desde mi host, pero eso todavía me deja con el problema de acceder a él a través de mi enrutador.

Supongo que podría instalar un servidor SSH en mi máquina Windows y luego hacer un túnel un par de veces (aunque no estoy 100% seguro de qué usar en términos locales, dinámicos, etc. o cómo configurar túneles múltiples), pero, ¿hay alguna forma de hacer que la máquina virtual sea directamente accesible para mi enrutador, así puedo reenviarlo directamente al puerto?


568
2018-05-06 03:24


origen


Respuestas:


La mejor forma de iniciar sesión en un invitado Linux VirtualBox VM es reenvío de puerto. Por defecto, ya deberías tener una interfaz que está usando NAT. Luego ve al Red configuración y haga clic en Reenvío de puertos botón. Añadir un nuevo Regla:

Puerto de host 3022, puerto de invitado 22, nombre ssh, otro dejado en blanco.

o desde línea de comando

VBoxManage modifyvm myserver --natpf1 "ssh,tcp,,3022,,22"

donde 'myserver' es el nombre de la máquina virtual creada. Verifique las reglas agregadas:

VBoxManage showvminfo myserver | grep 'Rule'

¡Eso es todo! Por favor, asegúrese de no olvidarse de instalar un SSH servidor en la VM:

sudo apt-get install openssh-server

Para SSH en la máquina virtual invitada, escriba:

ssh -p 3022 user@127.0.0.1

Dónde user es tu nombre de usuario dentro de la VM


1153
2018-05-10 10:39



Cambie el tipo de adaptador en VirtualBox a puenteado, y configure el invitado para usar DHCP o establecer un estático dirección IP fuera de los límites de DHCP. Esto hará que la Máquina Virtual actúe como un invitado normal en su red doméstica. A continuación, puede reenviar el puerto.


127
2018-05-06 03:37



Mantener el adaptador NAT y agregar un segundo adaptador de solo host funciona increíble, y es crucial para las computadoras portátiles (donde la red externa siempre cambia).

http://muffinresearch.co.uk/archives/2010/02/08/howto-ssh-into-virtualbox-3-linux-guests/

Recuerde crear una red solo de host en la propia caja virtual (GUI -> configuración -> red); de lo contrario, no podrá crear la interfaz de solo host en el invitado.


61
2018-05-02 08:53



Cómo hacer una red solo de host (mejor que puenteado) para Solaris 10 y Ubuntu 16.04

Agregar interfaz solo de host

  1. Virtualbox> Archivo> Preferencias> Red> Redes de solo host> Agregar
  2. Shutdown vm.
  3. Configuración de VM> Red. El primer adaptador debe ser Nat, el segundo solo para el host.
  4. Inicie cmd.exe y ejecútelo ipconfig /all. Deberías ver líneas:

    Ethernet adapter VirtualBox Host-Only Network:
       ...
       IPv4 Address. . . . . . . . . . . : 192.168.59.1
    

    El segundo adaptador en invitado también debe estar en 192.168.59. *.

  5. Inicie VM.

Solaris 10

  1. Comprobar ajustes  ifconfig -a. Debería ver e1000g0 y e1000g1. Estamos interesados ​​en e1000g1.
  2. ifconfig e1000g down
  3. ifconfig e1000g 192.168.56.10 netmask 255.255.255.0 up
  4. Compruebe desde el host si esta interfaz es alcanzable: ping 192.168.56.10

Conservar esas configuraciones al reiniciar

# vi /etc/hostname.e1000g1
192.168.56.10 netmask 255.255.255.0
# reboot

Configurar ssh Servicio (administrando) para iniciar sesión como root (no asesorado)

Compruebe si ssh está habilitado

# svcs -a | grep ssh
online         15:29:57 svc:/network/ssh:default

Modifique / etc / ssh / sshd_config para que haya

PermitRootLogin yes

Reinicie el servicio ssh

svcadm restart ssh

Desde el servidor, verifíquelo

ssh root@192.168.56.10

Ubuntu 16.04

Interfaces de lista:

ip addr

Debería ver tres interfaces como lo, enp0s3, enp0s8. Usaremos el tercero.

Editar / etc / network / interfaces

auto enp0s8
iface enp0s8 inet static
    address 192.168.56.10
    netmask 255.255.255.0

Entonces sudo ifup enp0s8. Compruebe si enp0s8 obtuvo la dirección correcta. Deberías ver tu IP:

 $ ip addr show enp0s8
 ...
    inet 192.168.56.10/24 brd 192.168.56.255 scope global secondary enp0s8

Si no, puedes correr sudo ifdown enp0s8 && sudo ifup enp0s8

https://superuser.com/questions/424083/virtualbox-host-ssh-to-guest/424115#424115


21
2017-11-26 14:52



También puedes usar un Red puenteada en configuración de la red. Esto colocará su VM en una VLAN con su máquina. Entonces puedes entrar a la VM así.

usuario ssh @ IP_OF_VM


18
2018-05-05 04:33



SSH de vuelta a su hogar / Oficina VirtualBox Guest Machine de INTERNET

Las respuestas proporcionadas por otros usuarios aquí: How to SSH to a VirtualBox guest externally through a host?

... me ayudó a realizar la tarea de conectarme desde Internet a la máquina invitada de mi computadora personal. Debería poder conectarse usando computadoras, tabletas y teléfonos inteligentes (Android, iPhone, etc.). Agrego algunos pasos más en caso de que pueda ser útil para otra persona:

Aquí hay un diagrama rápido de mi configuración:

  • Remote device ---> INTERNET --> MODEM --> ROUTER --> HOST MACHINE --> GUEST VM

  • Remote device (ssh client) ---> PASS THRU DEVICES ---> GUEST VM (ssh server)

  • Remote device (leave ssh port 3022) ---> INTERNET --> MODEM --> ROUTER (FWD frm:p3022 to:p3022)--> HOST MACHINE (FWD frm:p3022 to:p22) --> GUEST VM (arrive ssh port 22)

La clave para mí era darme cuenta de que TODAS las conexiones eran PASSING-THROUGH dispositivos intermediarios para llegar desde mi PC remota a mi máquina virtual invitada en casa - ¡Transferencia de puerto de puertos!

Notas: * Necesita que el cliente ssh solicite una conexión segura y un servidor ssh en ejecución para procesar la conexión segura.

  • Enviaré el puerto 3022 como se usa en la respuesta elegida desde arriba.

  • Ingrese sus direcciones IP donde sea necesario (modem / enrutador doméstico, IP de host, IP de invitado, etc.), los nombres elegidos son solo ejemplos: use o cambie.

1. Cree el túnel ssh en el puerto 3022 en la dirección IP externa del enrutador / IP de su módem.

ssh client/device possible commands: ssh -p 3022 user-name@home_external_IP

2. Puerto adelante = estamos pasando a través de la conexión del enrutador a la máquina host

  • También asegúrese de que las reglas de cortafuegos / IPtable en el enrutador estén permitiendo que los puertos sean reenviados (abrir si es necesario)

  • Pfwd SCREEN del enrutador requiere entradas: AppName: SSH_Fwd, Port_from: 3022, Protocolo: ambos (UDP / TCP), IP_address: hostIP_address, Port_to: 3022, todo lo demás puede estar en blanco

Recursos del software del enrutador DD-WRT / Info:

3.Host Machine Firewall: el puerto abierto 3022 #so puerto reenviado puede pasar a la máquina invitada

  • Máquina host: instale VirtualBox, adiciones de invitados y máquina invitada si aún no lo ha hecho

  • Configure la máquina invitada y luego siga la sección de Red a continuación

  • Utilicé la GUI de VirtualBox para configurar la red de los invitados, más fácil que la CLI

  • Si desea utilizar otros métodos, consulte: VirtualBox/manual/ch06.html#natforward

4. Algunos sugieren usar el adaptador de puente de red para guest = acceso a LAN y otras máquinas en su LAN. Esto también plantea un aumento en el riesgo de seguridad, porque ahora su máquina invitada ahora está expuesta a máquinas LAN y posiblemente a los piratas informáticos de INTERNET si el firewall no está configurado correctamente. Así que seleccioné el adaptador de red conectado a NAT para una menor exposición a los riesgos de seguridad en puente.

En la máquina invitada haga lo siguiente:

  • Configuración de Guest Guest VirtualBox Network: Adaptador 1: conectado a NAT
  • Regla de reenvío de puerto de MachineBox de Guest Machine: Nombre: External_SSH, Protocolo: TCP, Puerto de host: 3022, Puerto de invitado 22, IP del host y del invitado: dejar en blanco
  • haga clic en Avanzar en la sección Red y luego en Reenvío de puertos para ingresar las reglas
  • Guest Machine Firewall: puerto abierto 22 #so ssh connection puede ingresar
  • Máquina invitada: asegúrese de que el servidor ssh esté instalado, configurado correctamente y ejecutándose
  • Prueba LINUX para ver si el servidor ssh se está ejecutando con el comando: sudo service ssh status
  • Puede verificar netstat para ver si se realizó la conexión al puerto 22 en la máquina invitada

También hay diferentes servidores y clientes ssh dependiendo del uso de la plataforma.

  • wikipedia/Secure_Shell
  • wikipedia/Comparison_of_SSH_servers
  • wikipedia/Comparison_of_SSH_clients

Para usuarios de Ubuntu:

  • ubuntu community: SSHOpenSSH/Configuring
  • ubuntu/community: OpenSSH/Keys

Eso debería ser. Si cometí un error o si deseo agregar algo, no dude en hacerlo, todavía soy un novato.

Espero que esto ayude a alguien. ¡Buena suerte!


5
2017-11-06 22:47



Para el host de Windows, puede:

  1. En el administrador de la caja virtual:
    1. seleccionar ctrl+GRAMO en su administrador de virtualbox,
    2. luego ve al panel de red
    3. agregar una red privada
      1. asegúrese de que activar DHCP NO esté seleccionado
  2. En la gestión de red (ventanas)
    1. Seleccione el adaptador de host virtualbox recién creado y la tarjeta de red física
    2. Haga clic con el botón derecho y seleccione "Hacer puente"
  3. Disfrutar

5
2017-12-02 21:27