10 votes

SSH dans la VM Ubuntu à distance

Je n'ai pas beaucoup d'expérience en matière de réseaux ou de Linux, mais j'essaie de me connecter à une machine virtuelle Ubuntu depuis l'extérieur de mon réseau domestique. La machine virtuelle Ubuntu (VirtualBox) fonctionne sur un bureau Debian. J'ai fait quelques recherches et j'ai découvert que je devais transférer le port 22 du routeur vers la machine virtuelle.

  • J'ai changé le paramètre réseau de la VM en pont.
  • Je fais suivre le port à la VM.
  • J'ai vérifié ( http://www.yougetsignal.com/ ) pour montrer que le port est ouvert.

Mais lorsque j'essaie de me connecter, cela ne fonctionne toujours pas. ssh username@ -- connexion refusée

Y a-t-il quelque chose que je doive faire à l'intérieur de la machine virtuelle pour autoriser les connexions entrantes ? Ou transférer un port ?

Y a-t-il quelque chose que je fais mal, toute aide serait grandement appréciée !

16voto

roadmr Points 32606

Par défaut, VirtualBox fonctionne en mode "NAT", ce qui signifie qu'il construit un réseau "virtuel" et traduit les accès au réseau à partir de la VM de sorte que, pour le monde extérieur, ils semblent provenir de votre ordinateur réel.

VirtualBox fait croire à la VM qu'elle est connectée à un réseau, mais en réalité VirtualBox fournit des services réseau, y compris un mini serveur DHCP. Ensuite, VirtualBox effectue les accès au réseau "au nom" de la VM, ce qui la fait apparaître comme une autre application fonctionnant sur votre PC.

Cependant, cela signifie que le monde extérieur ne connaît pas vraiment la VM et ne peut pas y accéder directement.

Je pense que la redirection de port que vous avez faite était de votre routeur domestique vers votre PC, pas vers la VM. Il se peut qu'il vous manque une configuration du côté de VirtualBox. Je m'excuse si vous l'avez déjà fait, mais votre question n'était pas claire à ce sujet.

En fait, vous devez modifier la configuration du réseau de la VM et la définir sur "Bridged". Cela permet de créer une interface virtuelle sur votre PC et de faire en sorte que la VM l'utilise pour accéder au monde extérieur ; tout ce qui entre ou sort de cette interface est transmis à la VM. Ainsi, la VM sera visible comme une autre machine dans n'importe quel réseau auquel votre PC est connecté (elle a même sa propre adresse MAC !).

Ensuite, en fonction de la configuration de votre réseau, la VM peut obtenir une adresse DHCP comme n'importe quel autre PC connecté à votre routeur, ou vous devrez peut-être lui configurer une adresse IP statique. Cela dépend de la façon dont votre réseau est configuré.

Une fois que la VM a une adresse "réelle", vous pouvez, sur votre routeur, suivre les instructions que vous avez trouvées pour acheminer le port 22 vers l'adresse IP de la VM. Cela devrait fonctionner comme vous le souhaitez.

Si ce n'est pas le cas :

  • Regardez la configuration du pare-feu de votre VM (iptables -L -n). Bloque-t-il quelque chose ?
  • Configurez un autre ordinateur sur votre réseau local et essayez de vous connecter en SSH à l'adresse IP de la VM. Si vous y parvenez, vous devez revérifier la configuration de la redirection dans votre routeur. Si vous n'y parvenez pas, vous devez revérifier la configuration SSH et du pare-feu de la VM.

1voto

BobScon Points 131

D'après ce que je peux comprendre, votre problème réside dans le réseau de votre ordinateur serveur, car une fois que vous avez configuré le réseau vm en mode pont, vous êtes prêt à partir (vérifiez auprès de ssh <your.vm.ip.number> sur la ligne de commande de votre serveur - pas dans le vm).

votre serveur est derrière un routeur, tout comme un vm utilisant la NAT dans votre machine.

Vous devez contacter l'administrateur réseau de votre serveur afin qu'il puisse transférer l'adresse IP locale de votre vm vers un port ou une série de ports (assurez-vous que votre vm a une adresse IP statique).

Vous pouvez le faire vous-même si vous avez l'autorité sur la passerelle de votre serveur pour le faire.

un peu de visualisation :

Internet
     '---ROUTER (SERVER1 and SERVER2 use NAT on this router)
            |   (vm1, vm2, vm3, vm4, vm5 need to be forwarded on this router)
            | 
            '--- SERVER1 (vm1, vm2, vm3 use Bridge)
            |       '---vm1
            |       '---vm2
            |       '---vm3
            '--- SERVER1 (vm4, vm5 use Bridge)
            |       '---vm4
            |       '---vm5

0voto

Supermario Points 1

En regardant la situation que vous avez, il semble que vous devez configurer le pare-feu pour votre vm avec $ sudo ufw allow ssh

0voto

sinha Points 588

Il est également possible de le faire en "mode NAT", J'ai découvert que VM Virtualbox d'Oracle avait une fonction de transfert de port,

Allez dans les paramètres de Virtualbox > Réseau > Adaptateur (NAT) > Avancé > Transfert de port.

Avancé > Transfert de port

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X