J'ai un Ubuntu VM en cours d'exécution sur mon ordinateur Windows 7. Comment puis-je le configurer pour pouvoir accéder au serveur Web en externe via SSH?
J'ai trouvé des étapes (installer l'accès SSH entre les machines virtuelles hôte et invité de VirtualBox) pour pouvoir passer à mon invité à partir de mon hôte. , mais cela me laisse toujours avec le problème de l’accès via mon routeur.
Je suppose que je pourrais installer un serveur SSH sur ma machine Windows, puis effectuer un tunnel plusieurs fois (bien que je ne sois pas tout à fait sûr de ce qu'il faut utiliser en termes de local, de dynamique, etc. ou de configuration de plusieurs tunnels?), mais existe-t-il un moyen de rendre le VM directement accessible à mon routeur afin que je puisse directement transférer le port sur celui-ci?
Le meilleur moyen de vous connecter à un invité Linux VirtualBox VM est transfert 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 Transfert de port . Ajouter une nouvelle règle . En tant que 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é en blanc.
ou depuis la ligne de commande
VBoxManage modifyvm myserver --natpf1 "ssh,tcp,,3022,,22"
où 'myserver' est le nom de la machine virtuelle créée. Vérifiez les règles ajoutées:
VBoxManage showvminfo myserver | grep 'Rule'
C'est tout! Assurez-vous de ne pas oublier d'installer un serveur SSH dans la machine virtuelle:
Sudo apt-get install openssh-server
Pour SSH dans la machine virtuelle invitée, écrivez:
ssh -p 3022 [email protected]
Où user
est votre nom d'utilisateur dans la machine virtuelle.
Modifiez le type d'adaptateur dans VirtualBox en ponté et configurez l'invité pour qu'il utilise DHCP ou définissez une adresse statique adresse IP en dehors des limites de DHCP. Cela fera que la machine virtuelle se comportera comme un invité normal sur votre réseau domestique. Vous pouvez ensuite transférer le port.
Conserver l'adaptateur NAT et ajouter un deuxième adaptateur pour hôte uniquement fonctionne à merveille et est crucial pour les ordinateurs portables (où le réseau externe est toujours modifié).
http://muffinresearch.co.uk/archives/2010/02/08/howto-ssh-into-virtualbox-3-linux-guests/
N'oubliez pas de créer un réseau réservé à l'hôte dans la virtualbox même (interface graphique -> paramètres -> réseau), sinon vous ne pourrez pas créer l'interface réservée à l'hôte sur l'invité.
Lancez cmd.exe et exécutez ipconfig /all
. Vous devriez voir des lignes:
Ethernet adapter VirtualBox Host-Only Network:
...
IPv4 Address. . . . . . . . . . . : 192.168.59.1
Le deuxième adaptateur invité doit également figurer dans 192.168.59. *.
Démarrer la VM.
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
# vi /etc/hostname.e1000g1
192.168.56.10 netmask 255.255.255.0
# reboot
Vérifier si SSH est activé
# svcs -a | grep ssh
online 15:29:57 svc:/network/ssh:default
Modifiez/etc/ssh/sshd_config pour qu'il y ait
PermitRootLogin yes
Redémarrer le service SSH
svcadm restart ssh
De l'hôte, vérifiez
ssh [email protected]
Liste des interfaces:
ip addr
Vous devriez voir trois interfaces comme lo, enp0s3, enp0s8. Nous allons utiliser le troisième.
Éditez/etc/network/interfaces
auto enp0s8
iface enp0s8 inet static
address 192.168.56.10
netmask 255.255.255.0
Puis Sudo ifup enp0s8
. Vérifiez si enp0s8 a la bonne adresse. Vous devriez voir votre adresse IP:
$ ip addr show enp0s8
...
inet 192.168.56.10/24 brd 192.168.56.255 scope global secondary enp0s8
Sinon, vous pouvez exécuter Sudo ifdown enp0s8 && Sudo ifup enp0s8
https://superuser.com/questions/424083/virtualbox-Host-ssh-to-guest/424115#424115
Vous pouvez également utiliser un réseau ponté (ou un "adaptateur de pont", dans les versions plus récentes) dans paramètres résea. Cela placera votre VM dans un VLAN avec votre machine. Donc, vous pouvez simplement ssh dans le VM comme ceci.
utilisateur ssh @ IP_OF_VM
Pour pouvoir ssh sur une machine Ubuntu VM exécutée dans VirtualBox à partir de votre ordinateur hôte, vous devez configurer deux cartes réseau pour la machine virtuelle.
Tout d’abord, arrêtez le VM si pas encore.
Puis sélectionnez le VM et cliquez sur le menu Paramètres dans la barre d’outils VirtualBox:
(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 VM, la configuration du réseau ressemblera à celle ci-dessous et vous aurez également un accès Internet:
Également dans votre ordinateur hôte, vous pouvez ssh sur votre VM:
Assurez-vous que le serveur SSH a été installé et fonctionne correctement sur la machine virtuelle.
$ ps aux | grep sshd
root 864 0.1 0.5 65512 5392 ? Ss 22:10 0:00 /usr/sbin/sshd -D
Sinon, installez-le:
$ Sudo apt-get install openssh-server
Aussi pour votre information:
Pour Windows Host, vous pouvez:
Suivez les étapes ci-dessous pour vous connecter à votre ubuntu VM s'exécutant dans une boîte virtuelle à partir de la machine hôte à l'aide de PuTTY (sans transfert de port):
Sur le gestionnaire Virtualbox, sélectionnez la machine virtuelle, cliquez sur l'icône des paramètres. Ensuite, allez dans Réseaux et activez deux adaptateurs comme ci-dessous:
Démarrez Ubuntu VM.
Editez le fichier '/ etc/network/interfaces' comme ci-dessous et enregistrez-le:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet dhcp
Redémarrez la VM.
Connectez-vous à la commande VM et exécutez la commande ci-dessous pour vérifier l'adresse IP attribuée à eth1:
ifconfig
Utilisez cette adresse IP pour ouvrir une session PuTTY pour la machine virtuelle.
Vous pouvez également initier un transfert de port VERS votre hôte, OR AUTRE AUTRE SERVEUR, à partir de votre invité. Ceci est particulièrement utile si votre invité est "verrouillé" ou ne peut pas compléter l'option ModifyVM (par exemple, aucune autorisation pour 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 puissiez satisfaire aux 3 exigences, voici les étapes:
netstat -rn
et recherchez l'adresse de la passerelle vers la destination par défaut de la route 0.0.0.0. Disons que c'est "10.0.2.2". Cette adresse 'Gateway' 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 toute autre adresse IP de serveur sur laquelle vous souhaitez transférer un port.ssh 10.0.2.2 -p2222
où 10.0.2.2 est l'adresse IP virtuelle virtuelle passerelle/VBHost trouvée à l'étape 1. S'il ne s'agit PAS de l'hôte VirtualBox auquel vous effectuez le transfert de port, la commande est ssh localhost -p2222
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
Ubuntu 18.04 LTS
Configuration avec ponté pour voir l'adresse IP du serveur et se connecter sans "redirection de port"
VirtualBox> clic droit sur 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 fichier Sudo nano /etc/netplan/*init.yaml
,
Mon exemple de fichier:
network:
ethernets:
enp0s3:
addresses: []
dhcp4: true
enp0s8:
addresses: [192.168.0.200/24]
dhcp4: no
dhcp6: no
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
version: 2
Des commandes qui vous aideront
nano /etc/netplan/file.yaml # file to specify the rules of network
reboot now # restart ubuntu server right now
netplan apply # do after edited *.yaml, to apply changes
ifconfig -a # show interfaces with ip, netmask, broadcast, etc...
ping google.com # to see if there is internet
Configurer des adresses IP statiques sur un serveur Ubuntu 18.04 LTS - avec NetPlan
Régler simplement le paramètre réseau sur ponté a été la solution.
Votre IP va changer quand vous faites cela. Cependant, dans mon cas, cela n'a pas changé immédiatement. ifconfig
a renvoyé la même adresse IP. J'ai redémarré vm and boom, l'ip s'est mis à un début avec 192. * et j'ai immédiatement été autorisé à accéder à ssh.
Utilisez NAT la carte réseau et ajoutez le transfert de port. Mentionnez l'hôte actuel. N'utilisez pas 127.0.0.1 ou localhost.
Sur des réseaux sécurisés, configurer votre réseau sur un pont peut ne pas fonctionner. Les administrateurs ne peuvent autoriser qu'une seule adresse MAC par port ou, pire encore, le bloquer si les commutateurs détectent plusieurs Mac sur un port.
La meilleure solution à mon avis consiste à 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 je peux utiliser SSH depuis d'autres périphériques de mon réseau, ainsi qu'un adaptateur pour hôte uniquement lorsque je souhaite passer à SSH dans mon VM de mon ordinateur portable lorsque je suis connecté au réseau wifi eduroam sur le campus.