SSH dans Ubuntu VM à distance

10

Je n'ai pas beaucoup d'expérience sur la mise en réseau ou Linux, mais j'essaie de ssh dans 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 à la machine virtuelle.

  • J'ai changé le paramètre réseau sur la machine virtuelle en pont.
  • Je transfère le port à la machine virtuelle.
  • J'ai vérifié ( http://www.yougetsignal.com/ ) pour afficher le port comme ouvert.

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

Dois-je faire quoi que ce soit à l'intérieur de la machine virtuelle pour autoriser les connexions entrantes? Ou transmettre n'importe quel port?

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

user1354275
la source
Comment la machine virtuelle est-elle connectée à l'hôte? S'il est derrière un NAT (par défaut sur la boîte virtuelle). Cela ne fonctionnerait pas mais une connexion pontée devrait fonctionner à condition que vous ayez transféré les ports correctement.
Matt Mootz
Vous utilisez ssh username @ router-ip-address à droite?
cprofitt
1
oui nom d'utilisateur @ public-ip-address est-ce vrai?
user1354275
Ubuntu prêt à l'emploi comprend un client OpenSSH , qui vous permet de vous connecter à un autre ordinateur exécutant un serveur SSH. Pour vous connecter à Ubuntu, vous devez charger le serveur OpenSSH ( sudo apt-get install openssh-server ) sur la machine cible.
david6

Réponses:

15

Par défaut, VirtualBox fonctionne en mode "NAT", ce qui signifie qu'il crée un réseau "virtuel" et traduit les accès réseau de la machine virtuelle de sorte que vers le monde extérieur, ils semblent provenir de votre ordinateur réel.

VirtualBox fait croire à la machine virtuelle 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 fait des accès réseau "au nom" de la machine virtuelle, ce qui la fait apparaître comme une autre application en cours d'exécution sur votre PC.

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

Je pense que la redirection de port que vous avez effectuée était de votre routeur domestique vers votre PC, pas vers la VM. Il se peut que vous manquiez une configuration du côté VirtualBox. Toutes mes excuses si vous l'avez déjà fait, mais votre question n'était pas claire à ce sujet.

Fondamentalement, vous devez modifier la configuration réseau de la machine virtuelle et la définir sur "Bridged". Ce que cela fait, c'est qu'il crée une interface virtuelle sur votre PC et fait que la VM l'utilise pour accéder au monde extérieur; tout ce qui entre ou entre dans cette interface est acheminé vers la machine virtuelle. Ainsi, la machine virtuelle sera visible comme une autre machine dans le réseau auquel votre PC est connecté (il a même sa propre adresse MAC!).

Ensuite, selon la configuration de votre réseau, la machine virtuelle peut obtenir une adresse DHCP comme tout autre PC connecté à votre routeur, ou vous devrez peut-être configurer une adresse IP statique pour celle-ci. Cela dépend de la configuration de votre réseau.

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

Si ce n'est pas le cas:

  • Regardez la configuration du pare-feu de votre machine virtuelle (iptables -L -n). Est-ce que ça bloque quelque chose?
  • Configurez un autre ordinateur sur votre réseau local et essayez de SSH à l'adresse IP de la machine virtuelle. Si vous le pouvez, vous devez revérifier la configuration du transfert sur votre routeur. Si vous ne le pouvez pas, vous devez revérifier la configuration SSH et pare-feu de la machine virtuelle.
roadmr
la source
Salut roadmr, j'ai changé le paramètre réseau en pont et j'ai transmis le port à la machine virtuelle car il a sa propre ip et le routeur a pu le trouver. J'ai une adresse IP statique par le FAI. Mais ne fonctionne toujours pas
user1354275
1

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

votre serveur est derrière un routeur, tout comme un VM utilisant NAT sur votre machine.

Vous devez contacter votre administrateur réseau de serveur afin qu'il / elle puisse mettre en avant l'adresse IP locale de votre VM sur un port / plage de ports (assurez-vous que votre VM a une adresse IP statique).

Vous pouvez le faire vous-même si vous disposiez de l'autorité sur votre passerelle de 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
apisKod
la source