La première phrase du Guide to the Secure Configuration of Red Hat Entreprise Linux 5 de la NSA est « Do not attempt to implement any of the recommendations in this guide without first testing in a non-production environment ».
Cela semble en effet une bonne idée de tester tout ce que l’on fait en local d’abord si l’on ne veut pas tout crasher à la première erreur. Seulement tout le monde n’a pas forcement une machine disponible pour faire ses tests et utiliser son environnement de travail comme serveur de test n’est pas vraiment la meilleur idée qu’il existe. Et c’est là que Virtualbox intervient !
Virtualbox qu’on ne présente plus permet d’émuler facilement n’importe quel OS mais également de faire des liens entre le système hôte et invité.
Pour cela créez une nouvelle machine virtuelle, installez votre système dessus (je passe ces étapes parce que ce n’est pas vraiment le sujet). Un compte root et un serveur openssh suffisent.
Allez maintenant dans le fichier de config de votre machine virtuelle (pour moi se trouvant dans ~/VirtualBox\ VMs/debian/) et dans la section <ExtraData>, rajoutez les lignes suivantes :
1 2 3 4 5 6 | <ExtraDataItem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort" value="2222"/> <ExtraDataItem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort" value="22"/> <ExtraDataItem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol" value="TCP"/> <ExtraDataItem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/HostPort" value="8888"/> <ExtraDataItem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/GuestPort" value="80"/> <ExtraDataItem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/Protocol" value="TCP"/> |
Les trois dernières lignes concernent un éventuel serveur apache et ne sont donc pas nécessaires si vous n’en utilisez pas.
L’interface utilisée est ‘pcnet’, il vous faudra surement la changer dans la config de la machine virtuelle (Settings > Network > Advanced > Adaptater Type > PCnet).
Lancez la machine virtuelle et vous pouvez vous y connecter depuis ssh -p 2222 root@localhost ou accéder au serveur web apache depuis http://localhost:8888/.
Vous pouvez maintenant utiliser cette machine comme serveur de test et faire toutes les opérations requises via ssh.
Bon développement !

Salut Mart-e.
Tout comme toi, j’utilise virtualbox fréquemment pour faire des tests de plate-formes. Personnellement j’ai recours à une autre solution pour accéder aux VM.
Par défaut Virtualbox vient nater toutes les VM pour qu’elles aient accès aux même ressources que la machine hôte.
Il est possible d’ajouter une interface réseau « Réseau privé hôte » (ou encore Host-only en anglais). Cela va créer une interface virtuelle locale à ton ordinateur, et une interface réseau sur les VM.
Elles seront alors placées dans le même subnet de telle sorte que tu pourras accéder à tous les ports de chaque VM ayant été paramètrée ainsi.
Je rejoins le commentaire précédent : en utilisant le mode bridged ça ajoute simplement une nouvelle machine dans ton réseau local. La configuration IP se fait éventuellement toute seule via DHCP si un serveur est en place. On a ainsi accès à tous les ports. Je pense que c’est la configuration la plus pertinente si on est derrière un NAT.
Une chose à ajouter, penser à faire un backup de la machine virtuelle fraichement installée. Comme ça on peut repartir d’un environnement neuf en quelques secondes.
Bon à savoir, merci pour l’astuce
Plus léger, pour les tests, je fais des installations Debian minimales via debootstrap, et j’utilise chroot.
http://wiki.debian.org/Debootstrap
Block, tu arrives comme avec VirtualBox à accéder au serveur depuis ton système hôte avec cette méthode ? Parce que c’est justement ce qui intéressant avec cette méthode.