J'ai une machine virtuelle Ubuntu en cours d'exécution sur ma machine Windows 7. Comment le configurer pour pouvoir accéder au serveur Web en externe via SSH?
J'ai trouvé des étapes ( configurer l'accès SSH entre l'hôte VirtualBox et les machines virtuelles invitées ) pour pouvoir ssh vers mon invité à partir de mon hôte, mais cela me pose toujours le problème d'y accéder via mon routeur.
Je suppose que je pourrais installer un serveur SSH sur ma machine Windows, puis tunneler plusieurs fois (bien que je ne sois pas sûr à 100% de ce qu'il faut utiliser en termes de local, dynamique, etc. ou comment configurer plusieurs tunnels?), mais existe-t-il un moyen de rendre la machine virtuelle directement accessible à mon routeur afin que je puisse directement le transférer vers lui?
la source
Réponses:
La meilleure façon de se connecter à une machine virtuelle Linux VirtualBox invitée est la redirection de port . Par défaut, vous devriez déjà avoir une interface qui utilise NAT . Accédez ensuite aux paramètres réseau et cliquez sur le bouton de redirection de port . Ajoutez une nouvelle règle . Comme nom de règle, insérez "ssh". En tant que "Port hôte", insérez 3022. En tant que "Port invité", insérez 22. Tout le reste de la règle peut être laissé vide.
ou depuis la ligne de commande
où «myserver» est le nom de la machine virtuelle créée. Vérifiez les règles ajoutées:
C'est tout! Assurez-vous de ne pas oublier d'installer un serveur SSH dans la VM:
Pour SSH dans la machine virtuelle invitée, écrivez:
Où
user
est votre nom d'utilisateur dans la machine virtuelle.la source
ssh -p 3022 [email protected]
C'était la seule étape qui me manquait et je suis juste allé trouver sur un autre site.Host mybox HostName 127.0.0.1 User myuser Port 3022
à ce fichier (ajoutez le retrait vous-même), puis il vous suffit de le faire àssh mybox
chaque fois :)Modifiez le type d'adaptateur dans VirtualBox en ponté et définissez l'invité à utiliser DHCP ou définissez une adresse IP statique en dehors des limites de DHCP. Cela entraînera la machine virtuelle à agir comme un invité normal sur votre réseau domestique. Vous pouvez ensuite rediriger le port.
la source
Garder l'adaptateur NAT et ajouter un deuxième adaptateur hôte uniquement fonctionne à merveille et est crucial pour les ordinateurs portables (où le réseau externe change toujours).
http://muffinresearch.co.uk/archives/2010/02/08/howto-ssh-into-virtualbox-3-linux-guests/
N'oubliez pas de créer un réseau uniquement hôte dans virtualbox lui-même (GUI -> paramètres -> réseau), sinon vous ne pouvez pas créer l'interface hôte uniquement sur l'invité.
la source
/etc/network/interfaces
, merci!ssh
,sftp
, etc.) puisque vous auriez à passer par un port non standard.Vous pouvez également utiliser un réseau ponté (ou «Bridge Adapter», dans les versions plus récentes) dans les paramètres réseau . Cela mettra votre VM dans un VLAN avec votre machine. Ainsi, vous pouvez simplement accéder à la machine virtuelle comme ceci.
la source
Comment faire un réseau hôte uniquement ( mieux que ponté) pour Solaris 10 et Ubuntu 16.04
Ajouter une interface hôte uniquement
Démarrez cmd.exe et exécutez
ipconfig /all
. Vous devriez voir des lignes:Le deuxième adaptateur en invité devrait également être en 192.168.59. *.
Démarrez VM.
Solaris 10
ifconfig -a
. Vous devriez voir e1000g0 et e1000g1. Nous sommes intéressés par e1000g1.ifconfig e1000g down
ifconfig e1000g 192.168.56.10 netmask 255.255.255.0 up
ping 192.168.56.10
Conserver ces paramètres au redémarrage
Configurer le service ssh ( administration ) pour se connecter en tant que root (non conseillé)
Vérifiez si ssh est activé
Modifiez / etc / ssh / sshd_config pour qu'il y ait
Redémarrez le service ssh
De l'hôte, vérifiez-le
Ubuntu 16.04
Liste des interfaces:
Vous devriez voir trois interfaces comme lo, enp0s3, enp0s8. Nous utiliserons le troisième.
Modifier / etc / network / interfaces
Alors
sudo ifup enp0s8
. Vérifiez si enp0s8 a obtenu la bonne adresse. Vous devriez voir votre ip:Sinon, vous pouvez exécuter
sudo ifdown enp0s8 && sudo ifup enp0s8
/superuser/424083/virtualbox-host-ssh-to-guest/424115#424115
la source
192.168.59.1
et que vous spécifiez192.168.56.10
l'IP invité statique. L'adresse de sous-réseau de classe C entière doit correspondre exactement, vous devez donc utiliser quelque chose comme l'192.168.59.10
intérieur de l'invité à la place.Pour passer à une machine virtuelle Ubuntu exécutée dans VirtualBox à partir de votre machine hôte, vous devez configurer deux adaptateurs réseau pour la machine virtuelle.
Tout d'abord, arrêtez la machine virtuelle si ce n'est pas encore fait.
Sélectionnez ensuite la machine virtuelle et cliquez sur le menu Paramètres dans la barre d'outils VirtualBox:
Configurer l'adaptateur 1
Configurer l'adaptateur 2
(Remarque: vous n'avez pas besoin de configurer de redirection de port.)
C'est ça. Une fois configuré, vous pouvez démarrer votre VM. Dans votre machine virtuelle, la configuration du réseau ressemblera à ci-dessous et vous aurez également accès à Internet:
Toujours sur votre machine hôte, vous pouvez accéder à votre machine virtuelle par ssh:
Assurez-vous que le serveur SSH a été installé et fonctionne sur la machine virtuelle.
Sinon, installez-le:
Aussi pour votre information:
la source
File > Host Network Manager > Create
Les réponses fournies par d'autres utilisateurs ici:
How to SSH to a VirtualBox guest externally through a host?
... m'a aidé à accomplir la tâche de connexion depuis Internet sur la machine invitée de mon ordinateur personnel. Vous devriez pouvoir vous connecter à l'aide d'ordinateurs, de tablettes et de téléphones intelligents (Android, IPhone, etc.). J'ajoute quelques étapes supplémentaires au cas où cela pourrait être utile à quelqu'un d'autre:
Voici un schéma rapide de ma configuration:
Remote device ---> INTERNET --> MODEM --> ROUTER --> HOST MACHINE --> GUEST VM
Remote device (ssh client) ---> PASS THRU DEVICES ---> GUEST VM (ssh server)
Remote device (leave ssh port 3022) ---> INTERNET --> MODEM --> ROUTER (FWD frm:p3022 to:p3022)--> HOST MACHINE (FWD frm:p3022 to:p22) --> GUEST VM (arrive ssh port 22)
La clé pour moi était de réaliser que TOUTES les connexions étaient
PASSING-THROUGH
des appareils intermédiaires pour passer de mon PC distant à ma machine virtuelle invitée à la maison - d'où la redirection de port!Remarques: * Besoin du client ssh pour demander une connexion sécurisée et d'un serveur ssh en cours d'exécution pour traiter la connexion sécurisée.
Je vais transmettre le port 3022 tel qu'utilisé dans la réponse choisie ci-dessus.
Saisissez vos adresses IP si nécessaire (modem / routeur domestique, IP hôte, IP invité, etc.), les noms choisis ne sont que des exemples d'utilisation ou de modification.
1.Créez le tunnel ssh au port 3022 sur l'adresse IP externe de votre modem / routeur.
ssh client/device possible commands: ssh -p 3022 user-name@home_external_IP
2.Port forward = nous passons par la connexion du routeur à la machine hôte
Assurez-vous également que les règles du pare-feu / IPtable sur le routeur autorisent la redirection des ports (ouvrez-les si nécessaire)
ÉCRANS Pfwd du routeur requis: AppName: SSH_Fwd, Port_from: 3022, Protocol: both (UDP / TCP), IP_address: hostIP_address, Port_to: 3022, tout le reste peut être vide
Ressources logicielles du routeur DD-WRT / Info:
Port_Forwarding DD-WRT
DD-WRT Static_DHCP
Pare-feu de la machine hôte: le port ouvert 3022 #si le port transféré peut passer à travers la machine invitée
Machine hôte: installez VirtualBox, les ajouts d'invité et la machine invitée si ce n'est déjà fait
Configurez la machine invitée, puis suivez la section Réseau ci-dessous
J'ai utilisé l'interface graphique de VirtualBox pour configurer le réseau de l'invité - plus facilement que CLI
Si vous souhaitez utiliser d'autres méthodes, reportez-vous à:
VirtualBox/manual/ch06.html#natforward
4. Certains suggèrent d'utiliser l'adaptateur de pont réseau pour l'accès invité = au réseau local et à d'autres machines sur votre réseau local. Cela pose également un risque de sécurité accru, car votre ordinateur invité est désormais exposé aux ordinateurs LAN et éventuellement aux pirates INTERNET si le pare-feu n'est pas correctement configuré. J'ai donc sélectionné l'adaptateur réseau attaché au NAT pour moins d'exposition aux risques de sécurité pontés.
Sur la machine invitée, procédez comme suit:
Il existe également différents serveurs et clients ssh en fonction de la plate-forme utilisée.
wikipedia/Secure_Shell
wikipedia/Comparison_of_SSH_servers
wikipedia/Comparison_of_SSH_clients
Pour les utilisateurs d'Ubuntu:
ubuntu community: SSHOpenSSH/Configuring
ubuntu/community: OpenSSH/Keys
Ça devrait être ça. Si j'ai fait une erreur ou si je veux ajouter quelque chose - n'hésitez pas à le faire - je suis toujours un noob.
J'espère que cela aide quelqu'un. Bonne chance!
la source
Pour l'hôte Windows, vous pouvez:
la source
Vous pouvez également initier un transfert vers votre hôte ou tout autre serveur depuis votre invité. Ceci est particulièrement utile si votre invité est «verrouillé» ou ne peut pas autrement compléter l'option ModifyVM (par exemple, aucune autorisation de VBoxManage).
Trois exigences mineures sont 1) vous êtes / pouvez vous connecter à l'invité VirtualBox (via l'interface graphique de la console, un autre invité, etc.), 2) vous avez un compte sur l'hôte VirtualBox (ou un autre serveur) et 3) SSH et TCP le transfert n'est pas bloqué.
En supposant que vous pouvez répondre aux 3 exigences, voici les étapes:
netstat -rn
et recherchez l'adresse de passerelle vers la destination de l'itinéraire par défaut 0.0.0.0. Disons que c'est "10.0.2.2". Cette adresse de «passerelle» est l'une des adresses IP virtuelles de l'hôte VirtualBox.ssh -R 2222:localhost:22 10.0.2.2
où "10.0.2.2" est l'adresse IP du serveur VirtualBox -OU- tout autre serveur IP que vous souhaitez transférer vers.ssh 10.0.2.2 -p2222
où 10.0.2.2 est la passerelle par défaut / IP virtuelle VBHost trouvée à l'étape 1. Si ce n'est PAS l'hôte VirtualBox vers lequel vous transférez le port, la commande estssh localhost -p2222
la source
Suivez les étapes ci-dessous pour vous connecter à votre machine virtuelle ubuntu exécutée dans une boîte virtuelle à partir de la machine hôte à l'aide de putty (sans redirection de port):
Sur Virtualbox manager sélectionnez le vm, cliquez sur l'icône des paramètres. Allez ensuite sur Réseaux et activez deux adaptateurs comme ci-dessous:
Démarrez ubuntu vm.
Modifiez le fichier '/ etc / network / interfaces' comme ci-dessous et enregistrez-le:
Redémarrez la machine virtuelle.
Connectez-vous à la machine virtuelle et exécutez la commande ci-dessous pour vérifier l'IP allouée à eth1:
Utilisez cette IP pour ouvrir une session de mastic pour la machine virtuelle.
la source
Une bonne explication sur la façon de configurer la redirection de port avec NAT se trouve dans les documents VirtualBox: http://www.virtualbox.org/manual/ch06.html#natforward
la source
Ubuntu 18.04 LTS
Configuration avec ponté pour voir l'IP du serveur et se connecter sans "redirection de port"
VirtualBox> clic droit sur le serveur> paramètres> Réseau> activer l'adaptateur 2> sélectionner "ponté"> Mode promiscuous: autoriser tout> Vérifier le câble connecté> démarrer le serveur
Sur le serveur ubuntu, éditez le
sudo nano /etc/netplan/*init.yaml
fichier,Mon exemple de fichier:
Commandes qui vous aideront
Configurer des adresses IP statiques sur le serveur Ubuntu 18.04 LTS - avec NetPlan
la source
Le simple fait de régler le paramètre réseau sur un pont a fait l'affaire pour moi.
Votre adresse IP changera lorsque vous effectuez cette opération. Cependant, dans mon cas, cela n'a pas changé immédiatement.
ifconfig
retourné le même ip. J'ai redémarré le vm et le boom, l'ip s'est mis à un départ avec 192. * et j'ai immédiatement été autorisé à accéder à ssh.la source
Sur les réseaux sécurisés, la configuration de votre réseau pour ponter peut ne pas fonctionner. Les administrateurs ne pouvaient autoriser qu'une seule adresse mac par port ou pire encore bloquer le port si les commutateurs détectaient plusieurs macs sur un port.
La meilleure solution à mon avis est de configurer des interfaces réseau supplémentaires pour gérer les services supplémentaires que vous souhaitez exécuter sur vos machines. J'ai donc une interface de pont pour permettre le pontage lorsque je ramène mon ordinateur portable à la maison et peut y connecter SSH à partir d'autres appareils sur mon réseau ainsi qu'un adaptateur hôte uniquement lorsque je souhaite me connecter à ma VM depuis mon ordinateur portable lorsque je suis connecté au réseau wifi eduroam sur le campus.
la source
Utilisez l'adaptateur réseau NAT et ajoutez le port de transfert. Mentionnez l'hôte réel ip. N'utilisez pas 127.0.0.1 ou localhost.
la source