VirtualBox Host da ssh a Guest


53

Ho un host Mac e un guest VirtualBox Linux, che attualmente utilizza la modalità Bridged.

Devo essere in grado di inserire facilmente SSH nell'ospite dall'host. Sarebbe bello usare un nome host, ma andrebbe bene anche un indirizzo IP in continua evoluzione (attualmente, l'IP cambia con ogni nuova rete a cui mi unisco e il nome host non ha mai funzionato).

Ho anche bisogno dell'accesso a Internet da parte dell'ospite.

Le altre macchine sulla rete non necessitano dell'accesso al guest.

Qual è il modo migliore per configurare la mia rete VirtualBox?


1
A questo proposito, considera di avviare l'ospite VB senza GUI: superuser.com/questions/135498/…
Fabricio PH

Risposte:


36

Innanzitutto, dovrai creare l' vboxnet0interfaccia.

VirtualBox> File> Preferenze> Rete> Reti solo host> Aggiungi (otterrai vboxnet0)

Quindi, eseguilo sul computer host. Vedrai una nuova interfaccia vboxnet0, apparso.

ifconfig

Arrestare la VM e fare:

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

Avviare la macchina virtuale, in esecuzione guest

ifconfig

e controlla ip

Controlla questi link:

  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

C'è anche una soluzione per NAT ma non l'ho verificato.

Configurazione del port forwarding con NAT nel computer host

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

connettersi a Linux tramite la porta 2222 della macchina host

ssh -l -p 2222 localhost

Per le reti solo host con IP statico, controllare questo:

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

È per Solaris 10 e Ubuntu 16.04 ma dovrebbe essere facile da adattare.


2
Grazie, ho finito per abilitare il port forwarding di VirtualBox e sono in grado di connettermi tramite ssh localhost -p 7022.
Thomas Hunter,

Bello, il port forwarding ha funzionato a meraviglia. Anche se ho eseguito la configurazione nella GUI di Virtualbox anziché con VBoxManage. Lì devi impostare anche l'indirizzo IP dell'host e dell'ospite, che dovrebbero essere rispettivamente 127.0.0.1 e 10.0.2.15.
Sebastian Ganslandt,

Modifica minore alla prima frase. Dovrebbe essere visualizzato: VirtualBox> Impostazioni> Rete> "Reti solo host"> Aggiungi (otterrai vboxnet0)
Steve Swinsburg

Ho fatto tutto questo per l'installazione solo host, e quando provo ad accedere al mio host, si blocca (fino al timeout). C'è niente altro?
Chris Westin, il

37

Tra due macchine Linux (un host Ubuntu a 32 bit e una VM Ubuntu a 64 bit), sono riuscito a far funzionare ssh usando questo Port Forwarding:

inserisci qui la descrizione dell'immagine

Quindi dal sistema host in esecuzione

ssh -p 5679 127.0.0.1

Sostituire 5679con la "Porta host" inserita nelle Regole di port forwarding.


8
Ho fatto esattamente lo stesso, semplicemente senza inserire alcun "IP host" e "IP ospite".
Damien Cassou,

Nel mio caso, l'immagine di Ubuntu non è stata fornita con ssh installato (me lo sarei aspettato). Quindi ho eseguito 'apt-get install openssh-server' e sono stato in grado di connettermi con 'ssh -p 5679 localhost'. Sulla base degli altri commenti, non ho inserito alcun IP host o guest.
Pierre-Antoine,

2

Se non si desidera scherzare con il port forwarding, è possibile impostare un adattatore solo host che appare come interfaccia host e quindi aggiungere un indirizzo IP all'interno di quella sottorete nel guest.

passi:

  • Creare una rete solo host in Virtualbox (GUI -> impostazioni -> rete). Digita ifconfigl'host e vedi qualcosa di simile vboxnet0ainet 192.168.50.1
  • nel guest, aggiungi un indirizzo IP: ifconfig eth1 192.168.50.101 netmask 255.255.255.0 up
  • nell'host, eseguire ssh root@192.168.50.101

Ulteriori letture:


1

Potrebbe essere meglio configurare la scheda di rete virtuale in modalità NAT se ci si sposta abbastanza. Utilizzando NAT, l'host (il PC) diventa il server DHCP e il router per una rete privata creata per i sistemi operativi guest. Sono abbastanza sicuro che puoi impostare un indirizzo statico usando NAT anche ...

Tuttavia, penso che la soluzione migliore sia capire perché la risoluzione dei nomi non funziona per la VM guest :)

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


2
Ho impostato la modalità NAT e al mio ospite viene assegnato l'ip 10.0.2.15. Tuttavia, dall'host (il cui IP è 192.168.1.120), non sono in grado di raggiungere l'ospite. La guida è stata in grado di spiegare le diverse modalità per me, ma non sembrava avere una soluzione al mio problema.
Thomas Hunter,

0

Molto utile, mettimi nella giusta direzione. Grazie.

Ho dovuto andare su> VirtualBox> File> Gestore di rete host> vboxnet0> Configura adattatore manualmente> Indirizzo IPv4 e impostarlo sull'ifconfig del guest. Per qualche ragione l'host e l'ospite mi davano IP diversi.

È menzionato, ma per essere esplicito, ho dovuto impostare la porta di inoltro porta da 127.0.0.1 a 5679 e non la porta ssh predefinita 22, poiché è già utilizzata dalla comunicazione ssh dell'host.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.