VirtualBox Host ssh zu Gast


53

Ich habe einen Mac-Host und einen VirtualBox Linux-Gast, der derzeit den Bridged-Modus verwendet.

Ich muss in der Lage sein, vom Host aus problemlos SSH in den Gast zu schreiben. Es wäre schön, einen Hostnamen zu verwenden, aber eine sich nie ändernde IP-Adresse wäre auch in Ordnung (derzeit ändert sich die IP mit jedem neuen Netzwerk, dem ich beitrete, und der Hostname hat nie funktioniert).

Ich brauche auch einen Internetzugang vom Gast.

Andere Computer im Netzwerk benötigen keinen Zugriff auf den Gast.

Wie konfiguriere ich mein VirtualBox-Netzwerk am besten?


1
Erwägen Sie im Zusammenhang damit, den VB-Gast ohne GUI zu starten: superuser.com/questions/135498/…
Fabricio PH

Antworten:


36

Zuerst müssen Sie die vboxnet0Schnittstelle erstellen .

VirtualBox> Datei> Einstellungen> Netzwerk> Nur-Host-Netzwerke> Hinzufügen (Sie erhalten vboxnet0)

Führen Sie dies dann auf dem Host-Computer aus. Es wird eine neue Benutzeroberfläche vboxnet0angezeigt.

ifconfig

Fahren Sie Ihre VM herunter und tun Sie Folgendes:

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

Starten Sie die VM beim Ausführen des Gasts

ifconfig

und überprüfe die IP

Überprüfen Sie diese Links:

  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

Es gibt auch eine Lösung für NAT, aber ich habe es nicht überprüft.

Konfigurieren der Portweiterleitung mit NAT auf Ihrem Hostcomputer

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

Stellen Sie über den Port 2222 Ihres Host-Rechners eine Verbindung zu Ihrem Linux her

ssh -l -p 2222 localhost

Für Host-Only-Netzwerke mit statischer IP-Adresse überprüfen Sie Folgendes:

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

Es ist für Solaris 10 und Ubuntu 16.04, sollte aber leicht anzupassen sein.


2
Vielen Dank, ich habe die VirtualBox-Portweiterleitung aktiviert und kann eine Verbindung über herstellen ssh localhost -p 7022.
Thomas Hunter

Schön, die Portspedition hat wie am Schnürchen geklappt. Obwohl ich die Konfiguration in der Virtualbox GUI anstatt mit VBoxManage gemacht habe. Dort müssen Sie auch Ihre Host- und Gast-IP-Adresse einstellen. Diese sollte 127.0.0.1 bzw. 10.0.2.15 lauten.
Sebastian Ganslandt

Kleinere Änderungen am ersten Satz. Es sollte lauten: VirtualBox> Einstellungen> Netzwerk> Nur-Host-Netzwerke> Hinzufügen (Sie erhalten vboxnet0)
Steve

Ich habe dies alles für das Host-Only-Setup getan, und wenn ich versuche, von meinem Host aus zu sshingen, hängt es nur (bis es eine Zeitüberschreitung gibt). Gibt es noch etwas?
Chris Westin

37

Zwischen zwei Linux-Rechnern (einem 32-Bit-Ubuntu-Host und einer 64-Bit-Ubuntu-VM) gelang es mir, ssh mithilfe dieser Portweiterleitung zum Laufen zu bringen:

Bildbeschreibung hier eingeben

Dann von Ihrem Hostsystem ausführen

ssh -p 5679 127.0.0.1

Ersetzen Sie 5679den in den Portweiterleitungsregeln eingegebenen "Host-Port".


8
Ich habe genau das gleiche getan, nur ohne "Host IP" und "Guest IP" einzugeben.
Damien Cassou

In meinem Fall kam das Ubuntu-Image nicht mit installiertem ssh (hätte ich erwartet). Also habe ich 'apt-get install openssh-server' ausgeführt und konnte mich mit 'ssh -p 5679 localhost' verbinden. Aufgrund der anderen Kommentare habe ich keine Host- oder Gast-IP angegeben.
Pierre-Antoine

2

Wenn Sie nicht mit der Portweiterleitung herumspielen möchten, können Sie einen Host-Only-Adapter einrichten, der als Host-Schnittstelle angezeigt wird, und dann eine IP-Adresse in diesem Subnetz im Gast hinzufügen.

Schritte:

  • Erstellen Sie ein Host-Only-Netzwerk in Virtualbox (GUI -> Einstellungen -> Netzwerk). Tippe ifconfigden Host ein und sieh so etwas wie vboxnet0mitinet 192.168.50.1
  • Fügen Sie im Gast eine IP-Adresse hinzu: ifconfig eth1 192.168.50.101 netmask 255.255.255.0 up
  • Führen Sie im Host aus ssh root@192.168.50.101

Weitere Lektüre:


1

Wenn Sie sich viel bewegen, ist es möglicherweise besser, Ihre virtuelle Netzwerkkarte im NAT-Modus zu konfigurieren. Unter Verwendung von NAT wird der Host (Ihr PC) zum DHCP-Server und -Router für ein privates Netzwerk, das für Ihre Gastbetriebssysteme erstellt wird. Ich bin mir ziemlich sicher, dass Sie mit NAT auch eine statische Adresse festlegen können ...

Ich denke jedoch, die beste Lösung ist, herauszufinden, warum die Namensauflösung für Ihre Gast-VM nicht funktioniert :)

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


2
Ich richte den NAT-Modus ein und meinem Gast wird die IP 10.0.2.15 zugewiesen. Über den Host (dessen IP-Adresse 192.168.1.120 lautet) kann ich den Gast jedoch nicht erreichen. Der Guide konnte mir die verschiedenen Modi erklären, schien aber keine Lösung für mein Problem zu haben.
Thomas Hunter

0

Sehr hilfreich, lege mich in die richtige Richtung. Vielen Dank.

Ich musste zu> VirtualBox> Datei> Host Network Manager> vboxnet0> Adapter manuell konfigurieren> IPv4-Adresse gehen und es auf die ifconfig des Gasts einstellen. Aus irgendeinem Grund gaben mir der Gastgeber und der Gast unterschiedliche IPs.

Es wird erwähnt, aber um genau zu sein, musste ich den Port-Weiterleitungsport für 127.0.0.1 auf 5679 setzen und nicht den Standard-SSH-Port 22, da dieser bereits von der eigenen SSH-Kommunikation des Hosts verwendet wird.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.