VirtualBox Host ssh to Guest

53

J'ai un hôte Mac et un invité Linux VirtualBox, qui utilise actuellement le mode ponté.

Je dois être capable de facilement SSH dans l'invité de l'hôte. Il serait bien d’utiliser un nom d’hôte, mais une adresse IP ne changeant jamais conviendrait également (actuellement, l’IP change à chaque nouveau réseau auquel je participe et le nom d’hôte n’a jamais fonctionné).

J'ai également besoin d'un accès Internet de l'invité.

Les autres machines du réseau n'ont pas besoin d'accéder à l'invité.

Quel est le meilleur moyen de configurer mon réseau VirtualBox?

Thomas Hunter
la source
1
Dans le même ordre d'idées, envisagez de démarrer l'invité VB sans interface graphique: superuser.com/questions/135498/…
Fabricio PH

Réponses:

36

Tout d'abord, vous devrez créer l' vboxnet0interface.

VirtualBox> Fichier> Préférences> Réseau> Réseaux réservés aux hôtes> Ajouter (vous obtiendrez vboxnet0)

Ensuite, exécutez ceci sur la machine hôte. Vous verrez une nouvelle interface vboxnet0, est apparue.

ifconfig

Arrêtez votre VM et faites:

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

Démarrer la machine virtuelle en mode invité

ifconfig

et vérifier l'ip

Vérifiez ces liens:

  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

Il y a aussi une solution pour le NAT mais je ne l'ai pas vérifiée.

Configuration de la redirection de port avec NAT sur votre ordinateur hôte

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

connectez-vous à votre linux via le port 2222 de votre machine hôte

ssh -l -p 2222 localhost

Pour les réseaux uniquement avec une adresse IP statique, vérifiez les points suivants:

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

C'est pour Solaris 10 et Ubuntu 16.04 mais il devrait être facile à adapter.

rofrol
la source
2
Merci, j'ai finalement activé la redirection de port VirtualBox et je peux me connecter via ssh localhost -p 7022.
Thomas Hunter
Nice, la redirection de port a fonctionné à merveille. Bien que j'ai fait la config dans l'interface graphique de Virtualbox plutôt qu'avec VBoxManage. Là, vous devez également définir vos adresses IP hôte et invité, qui devraient être respectivement 127.0.0.1 et 10.0.2.15.
Sebastian Ganslandt
Modification mineure de la première phrase. Il devrait lire: VirtualBox> Paramètres> Réseau> 'Réseaux réservés aux hôtes'> Ajouter (vous obtiendrez vboxnet0)
Steve Swinsburg
J'ai fait tout cela pour la configuration hôte uniquement, et lorsque j'essaie d'entrer en ssh depuis mon hôte, il se bloque (jusqu'à ce que le délai expire). Y a-t-il autre chose?
Chris Westin
37

Entre deux machines Linux (un hôte Ubuntu 32 bits et une machine virtuelle Ubuntu 64 bits), j'ai réussi à faire fonctionner ssh à l'aide de cette redirection de port:

entrez la description de l'image ici

Puis à partir de votre système hôte, lancez

ssh -p 5679 127.0.0.1

Remplacez 5679par le "port hôte" entré dans les règles de transfert de port.

719016
la source
8
J'ai fait exactement la même chose, sans entrer aucune "Host IP" et "Guest IP".
Damien Cassou
Dans mon cas, l'image Ubuntu n'est pas venue avec SSH installé (je l'aurais prévu). J'ai donc lancé 'apt-get install openssh-server' et j'ai pu me connecter avec 'ssh -p 5679 localhost'. Sur la base des autres commentaires, je n'ai pas mis d'adresse IP hôte ou invité.
Pierre-Antoine
2

Si vous ne voulez pas vous perdre dans la redirection de port, vous pouvez configurer un adaptateur pour hôte uniquement qui se présente sous la forme d'une interface hôte, puis ajouter une adresse IP dans ce sous-réseau de l'invité.

Pas:

  • Créez un réseau réservé aux hôtes dans Virtualbox (interface graphique -> paramètres -> réseau). Tapez ifconfigl'hôte et voyez quelque chose comme vboxnet0avecinet 192.168.50.1
  • en invité, ajouter une adresse IP: ifconfig eth1 192.168.50.101 netmask 255.255.255.0 up
  • en hôte, exécutez ssh [email protected]

Lectures complémentaires:

Ben Creasy
la source
1

Vous feriez peut-être mieux de configurer votre carte réseau virtuelle en mode NAT si vous vous déplacez un peu. En utilisant NAT, l'hôte (votre PC) devient le serveur et le routeur DHCP d'un réseau privé créé pour vos systèmes d'exploitation invités. Je suis sûr que vous pouvez également définir une adresse statique à l'aide de NAT ...

Cependant, je pense que la meilleure solution consiste à déterminer pourquoi la résolution de nom ne fonctionne pas pour votre machine virtuelle invitée :)

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

John
la source
2
Je configure le mode NAT et mon invité se voit attribuer l'adresse IP 10.0.2.15. Cependant, à partir de l'hôte (dont l'adresse IP est 192.168.1.120), je ne parviens pas à atteindre l'invité. Le guide a pu expliquer les différents modes pour moi, mais il ne semblait pas avoir de solution à mon problème.
Thomas Hunter
0

Très utile, mets-moi dans la bonne direction. Merci.

Je devais accéder à> VirtualBox> Fichier> Gestionnaire de réseau hôte> vboxnet0> Configurer l'adaptateur manuellement> Adresse IPv4 et le définir sur l'ifconfig de l'invité. Pour une raison quelconque, l'hôte et l'invité me donnaient des adresses IP différentes.

Cela est mentionné, mais pour être explicite, je devais définir le port de transfert de port de 127.0.0.1 à 5679 et non le port ssh 22 par défaut, car il est déjà utilisé par la propre communication ssh de l'hôte.

remkohdev
la source