Question Comment SSH à un invité VirtualBox externe à travers un hôte?


J'ai une machine virtuelle Ubuntu fonctionnant sur ma machine Windows 7. Comment puis-je le configurer pour que je puisse accéder au serveur web en externe via SSH?

J'ai trouvé des étapes (Configuration de l'accès SSH entre l'hôte VirtualBox et les machines virtuelles invitées) être capable de ssh à mon invité de mon hôte, mais cela me laisse toujours le problème d'y accéder via mon routeur.

Je suppose que je pourrais installer un serveur SSH sur mon ordinateur Windows et ensuite tunneler quelques fois (bien que je ne sois pas sûr à 100% quoi utiliser en termes de local, dynamique, etc. ou comment configurer plusieurs tunnels?), mais y a-t-il un moyen de rendre la VM directement accessible à mon routeur afin que je puisse directement la rediriger vers celle-ci?


568
2018-05-06 03:24


origine


Réponses:


Le meilleur moyen de se connecter à une machine virtuelle Linux VirtualBox est redirection de port. Par défaut, vous devriez déjà avoir une interface qui utilise NAT. Ensuite, allez à la Réseau paramètres et cliquez sur le Port Forwarding bouton. Ajouter un nouveau Règle:

Port hôte 3022, port invité 22, nom ssh, autre laissé vide.

ou à partir de la ligne de commande

VBoxManage modifyvm myserver --natpf1 "ssh,tcp,,3022,,22"

où 'monserveur' 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 SSH serveur dans la VM:

sudo apt-get install openssh-server

Pour SSH dans la machine virtuelle invitée, écrivez:

ssh -p 3022 user@127.0.0.1

user est votre nom d'utilisateur dans la VM.


1153
2018-05-10 10:39



Modifiez le type d'adaptateur dans VirtualBox pour pont et définissez l'invité à utiliser DHCP ou définir une statique adresse IP 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 transférer vers l'avant.


127
2018-05-06 03:37



Garder l'adaptateur NAT et ajouter un second adaptateur hôte seulement fonctionne de manière incroyable, 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 hôte uniquement 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é.


61
2018-05-02 08:53



Comment faire un réseau hôte uniquement (meilleur que ponté) pour Solaris 10 et Ubuntu 16.04

Ajouter une interface hôte uniquement

  1. Virtualbox> Fichier> Préférences> Réseau> Réseaux hôte uniquement> Ajouter
  2. Shutdown vm.
  3. Paramètres de VM> Réseau. Le premier adaptateur devrait être Nat, deuxième hôte seulement.
  4. 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
    

    Deuxième adaptateur dans l'invité devrait également être en 192.168.59. *.

  5. Démarrer VM.

Solaris 10

  1. Vérifier paramètres  ifconfig -a. Vous devriez voir e1000g0 et e1000g1. Nous sommes intéressés par e1000g1.
  2. ifconfig e1000g down
  3. ifconfig e1000g 192.168.56.10 netmask 255.255.255.0 up
  4. Vérifiez à partir de l'hôte si cette interface est accessible: ping 192.168.56.10

Conserver ces paramètres lors du redémarrage

# vi /etc/hostname.e1000g1
192.168.56.10 netmask 255.255.255.0
# reboot

Configurer ssh un service (administrer) pour vous connecter en tant que root (pas conseillé)

Vérifiez 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émarrez le service ssh

svcadm restart ssh

De l'hôte, vérifiez-le

ssh root@192.168.56.10

Ubuntu 16.04

Lister les interfaces:

ip addr

Vous devriez voir trois interfaces comme lo, enp0s3, enp0s8. Nous allons utiliser le troisième.

Modifier / etc / network / interfaces

auto enp0s8
iface enp0s8 inet static
    address 192.168.56.10
    netmask 255.255.255.0

alors sudo ifup enp0s8. Vérifiez si enp0s8 a la bonne adresse. Vous devriez voir votre ip:

 $ ip addr show enp0s8
 ...
    inet 192.168.56.10/24 brd 192.168.56.255 scope global secondary enp0s8

Si non, vous pouvez courir sudo ifdown enp0s8 && sudo ifup enp0s8

https://superuser.com/questions/424083/virtualbox-host-ssh-to-guest/424115#424115


21
2017-11-26 14:52



Vous pouvez également utiliser un Réseau ponté dans paramètres réseau. Cela mettra votre VM dans un VLAN avec votre machine. Donc, vous pouvez juste ssh dans la VM comme ça.

ssh utilisateur @ IP_OF_VM


18
2018-05-05 04:33



SSH Retour à votre maison / bureau VirtualBox Guest Machine à partir de l'INTERNET

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 se connecter sur Internet à la machine invité de mon ordinateur à la maison. Vous devriez être en mesure de vous connecter en utilisant des ordinateurs, des tablettes et des téléphones intelligents (Android, iPhone, etc.). J'ajoute quelques pas de plus 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 périphériques intermédiaires pour obtenir de mon PC à distance à ma machine virtuelle à la maison - Forwarding port de port!

Remarques: * Besoin de client ssh pour demander une connexion sécurisée et un serveur ssh en cours d'exécution pour traiter la connexion sécurisée.

  • Je vais transmettre le port 3022 comme utilisé dans la réponse choisie d'en haut.

  • Entrez vos adresses IP si nécessaire (modem / routeur domestique, IP hôte, IP invité, etc.). Les noms choisis ne sont que des exemples - utilisez ou modifiez.

1.Créez le tunnel ssh au port 3022 sur l'adresse IP externe du routeur / IP de votre modem.

ssh client/device possible commands: ssh -p 3022 user-name@home_external_IP

2.Port avant = nous passons à travers la connexion du routeur à la machine hôte

  • Assurez-vous également que les règles de pare-feu / IPtable sur le routeur permettent aux ports d'être redirigés (ouverts si nécessaire)

  • Le routeur Pfwd SCREEN entrées requises: AppName: SSH_Fwd, Port_from: 3022, Protocole: les deux (UDP / TCP), IP_address: hostIP_address, Port_to: 3022, tout le reste peut être vide

Ressources logicielles du routeur DD-WRT / Info:

Le pare-feu de machine de 3.Host: le port 3022 ouvert du port #so ainsi transféré peut passer à la machine d'invité

  • Machine hôte: installez VirtualBox, les ajouts d'invités et la machine invité si ce n'est déjà fait

  • Configurez la machine invité, puis suivez la section Réseau ci-dessous

  • J'ai utilisé l'interface graphique de VirtualBox pour configurer le réseau des invités - plus facile que l'interface CLI

  • Si vous voulez utiliser d'autres méthodes, référez-vous à: VirtualBox/manual/ch06.html#natforward

4.Certains suggèrent d'utiliser l'adaptateur de pont réseau pour guest = accès au LAN et aux autres machines de votre réseau local. Cela pose également un risque de sécurité accru, car maintenant votre machine invitée est maintenant exposée aux machines LAN et éventuellement aux pirates INTERNET si le pare-feu n'est pas configuré correctement. J'ai donc choisi la carte réseau attachée à NAT pour moins d'exposition aux risques de sécurité pontés.

Sur la machine invité, procédez comme suit:

  • Paramètres réseau de Guest Machine VirtualBox: Adaptateur 1: Attaché au NAT
  • Règle de redirection de port de la machine invité VirtualBox: Nom: External_SSH, Protocole: TCP, Port hôte: 3022, Port invité 22, IP hôte et invité: laissez vide
  • cliquez sur avancer dans la section Réseau puis cliquez sur Redirection de port pour entrer les règles
  • Pare-feu de la machine invité: ouverture du port 22 La connexion #so ssh peut entrer
  • Invité Machine: Assurez-vous que le serveur ssh est installé, configuré correctement et en cours d'exécution
  • Test LINUX pour voir si le serveur ssh fonctionne avec la commande: sudo service ssh status
  • Peut vérifier netstat pour voir si la connexion faite au port 22 sur la machine d'invité

Il existe également différents serveurs et clients ssh en fonction de l'utilisation de la plateforme.

  • 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

Cela 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!


5
2017-11-06 22:47



Pour l'hôte Windows, vous pouvez:

  1. Dans le gestionnaire de virtualbox:
    1. sélectionner ctrl+g dans votre gestionnaire de virtualbox,
    2. puis allez au panneau de réseau
    3. ajouter un réseau privé
      1. assurez-vous que l'activation de DHCP n'est PAS sélectionnée
  2. En gestion de réseau (windows)
    1. Sélectionnez la carte hôte Virtualbox nouvellement créée et la carte réseau physique
    2. Faites un clic droit et sélectionnez "Make bridge"
  3. Prendre plaisir

5
2017-12-02 21:27



Vous pouvez également lancer un port 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 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 'console', un autre invité, etc), 2) vous avez un compte sur le VirtualBox HOST (ou 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:

  1. Sur l'invité, exécutez netstat -rn et trouvez l'adresse de la passerelle à la destination de l'itinéraire par défaut 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.
  2. Sur l'invité, exécutez 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 du serveur vers laquelle vous souhaitez transférer le port.
  3. Sur l'hôte, exécutez ssh 10.0.2.2 -p2222 où 10.0.2.2 est l'adresse IP virtuelle de passerelle / VBHost par défaut trouvée à l'étape 1. Si ce n'est pas l'hôte VirtualBox vers lequel vous redirigez le port, la commande est ssh localhost -p2222

4
2018-02-24 19:00



Pour envoyer une commande SSH à une machine virtuelle Ubuntu s'exécutant dans VirtualBox à partir de votre machine hôte, vous devez configurer deux cartes réseau pour la machine virtuelle.

Tout d'abord, arrêtez la VM 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:

enter image description here

Configurer l'adaptateur 1

enter image description here

Configurer l'adaptateur 2

enter image description here

(Remarque: vous n'avez pas besoin de configurer de redirection de port.)

C'est tout. Une fois configuré, vous pouvez démarrer votre machine virtuelle. Dans votre machine virtuelle, la configuration du réseau ressemblera à ci-dessous et vous aurez également accès à Internet:

enter image description here

Aussi dans votre machine hôte, vous pouvez ssh sur votre machine virtuelle:

enter image description here

Assurez-vous que le serveur SSH a été installé et exécuté dans 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:

  • Ma version VirtualBox: 5.2.6 r120293 (Qt5.6.2), 2018
  • Ma version d'Ubuntu: Ubuntu 16.04.3 LTS
  • Ma machine hôte: Windows 10

4
2018-02-10 20:17