VirtualBox

Comment SSH dans votre invité VirtualBox

Comment SSH dans votre invité VirtualBox
Il y a des moments où vous voulez avoir un accès à distance à votre VM. Peut-être s'agit-il simplement d'un système d'exploitation de serveur fonctionnant en tant que machine virtuelle, où vous testez vos applications avant de les déployer réellement.

Avoir la capacité de SSH dans votre système d'exploitation invité peut s'avérer utile lorsque vous ne souhaitez pas utiliser l'interface graphique de votre machine virtuelle. Démarrez simplement votre VM en mode sans tête et connectez-vous en SSH sans avoir plusieurs fenêtres ouvertes dans votre terminal.

Pour ceux qui sont nouveaux dans l'idée de SSH, nous aurons une brève introduction au fonctionnement de SSH avant de plonger dans la configuration. Nous aurions également besoin de discuter des paramètres liés au réseau de votre machine virtuelle pour vous assurer que vous avez accès à cette machine virtuelle depuis n'importe où dans votre réseau local.

Comment fonctionnent les clés SSH?

Voici un modèle simplifié du fonctionnement de SSH. Vous créez une paire de clés sur votre ordinateur local. Une clé publique et une clé privée. Les messages chiffrés à l'aide de la clé publique peuvent être déchiffrés à l'aide de la clé privée et vice versa. Ces clés sont généralement stockées sur votre ordinateur local à un chemin ~/.ssh/id_rsa(clé privée) et~/.ssh/id_rsa.pem(la clé publique).

Vous allez ensuite sur votre serveur distant, connectez-vous à une console en tant qu'utilisateur régulier ou root, ouvrez le fichier ~/.ssh/authorized_keysde ce serveur. Ici, vous entrez le contenu de votre clé publique telle qu'elle est. Une fois cela fait, vous pouvez ssh en tant qu'utilisateur sur le serveur dont .Le répertoire ssh contient les clés_autorisées, à partir de votre appareil local.

le .pem l'extension signifie que ce fichier est la clé publique que vous pouvez partager avec n'importe qui. le id_rsa partie signifie simplement quel chiffrement de cryptage est utilisé (dans ce cas, il s'agit de RSA). La clé privée peut en outre être protégée par une phrase secrète que vous devrez entrer chaque fois que vous souhaitez vous connecter à un serveur distant à l'aide de cette clé privée.

Si vous avez un Mac, Linux ou tout autre système de type UNIX comme ordinateur local, vous pouvez générer et gérer des clés à l'aide d'un terminal, et vous pouvez également vous connecter en SSH à des serveurs distants à l'aide du même terminal. Pour les utilisateurs de Windows, je suggérerais d'utiliser PuTTY ou Git Bash, ce dernier étant ma préférence personnelle. Les commandes sont à peu près les mêmes une fois que vous avez un client SSH.

Configuration des clés SSH

Assurez-vous d'abord s'il n'y a pas déjà de clés ssh dans votre répertoire personnel. Vérifiez le contenu de votre répertoire personnel .ssh dossier. En cas de doute, sauvegardez son contenu avant d'exécuter la commande suivante. Des programmes comme Filezilla utilisent des clés SSH tout le temps, à l'insu de l'utilisateur, donc cette étape est plutôt cruciale.

Dans votre machine locale, ouvrez le terminal et entrez la commande :

$ ssh-keygen

Ceci sera suivi des invites suivantes avec des valeurs entre parenthèses indiquant les valeurs par défaut. Suivez les invites et donnez à vos clés une phrase secrète sécurisée.

Vérifiez que les clés sont créées en vérifiant le contenu de votre ~/.ssh dossier.

$ ls -al ~/.ssh

Si vous voyez des fichiers correspondant aux valeurs par défaut affichées dans le ssh-keygen invite alors tout a bien fonctionné.

Ouvrez maintenant une console sur votre Machine virtuelle. Vérifiez d'abord si votre VM a un serveur SSH en cours d'exécution ou non.

$ service état sshd

S'il n'est pas installé, utilisez votre gestionnaire de paquets pour rechercher et installer le serveur OpenSSH. Une fois cela fait, assurez-vous que le pare-feu de votre VM est ouvert sur le port numéro 22. Par exemple, si vous utilisez Ubuntu comme machine virtuelle, le pare-feu par défaut euh devrait être désactivé ou devrait autoriser les connexions du port 22 comme ceci :

$ sudo ufw status

Si if n'est pas ouvert sur le port 22, utilisez la commande suivante :

$ sudo ufw autoriser ssh

Ensuite, ouvrez le fichier ~/.ssh/authorized_keys  sur votre VM, en utilisant votre éditeur de texte préféré. Vous voudrez peut-être activer le presse-papiers hôte-à-invité ou bidirectionnel pour cette prochaine étape.

A l'intérieur de ce fichier (en bas du fichier, s'il n'est pas vide) collez le contenu de votre Clé publique. La dernière partie où il est dit votre nom et l'hôte local où les clés ont été générées n'est pas aussi importante que le reste de la chaîne.

(Facultatif) Ne pas utiliser de clés SSH

Si vous faites confiance à votre réseau local, vous pouvez utiliser la méthode la moins sécurisée d'utilisation de votre mot de passe UNIX, pour ssh dans votre machine virtuelle. Ouvrir le fichier /etc/ssh/sshd_config sur votre VM et remplacez la ligne :

#PasswordAuthentication non
À
Mot de passeAuthentification oui

Une fois cela en place, redémarrez votre serveur SSH.

$ service sshd redémarrer

Vous pouvez maintenant utiliser le mot de passe normal que vous utilisez pour vous connecter à votre machine virtuelle pour vous y connecter également.

Votre machine virtuelle et votre réseau

Pour que vous puissiez ssh dans votre VM, votre ordinateur local (celui avec la clé privée) et la VM doivent être sur le même réseau. Vous pouvez donc accéder à l'adresse IP de cette VM. Nous allons vous montrer comment ajouter la VM à votre LAN.

Prenons l'exemple d'une configuration de routeur domestique typique. Votre ordinateur, ainsi que d'autres appareils, est connecté au routeur domestique. Ce routeur agit également comme un serveur DHCP, ce qui signifie qu'il attribue à chaque appareil qui y est connecté, une adresse IP privée unique. Votre ordinateur de bureau obtient une adresse IP, votre téléphone et votre ordinateur portable aussi. Seuls les appareils connectés à ce routeur peuvent communiquer entre eux via leurs adresses IP.

Activez le mode réseau ponté dans les paramètres de votre VM et la VM apparaîtra comme étant connectée à votre routeur domestique (ou à un serveur DHCP similaire) avec une IP privée. Si un deuxième appareil est connecté au même réseau (par exemple, au même routeur domestique), il peut être utilisé pour ssh dans la VM.

Ouvrez VirtualBox Manager, sélectionnez votre machine virtuelle cible, ouvrez le Paramètres → Réseau et sélectionnez Bridge Networking au lieu de NAT.

Comme vous pouvez le voir, mon hôte est connecté via Wireless afin que la connexion soit également partagée par la VM, si vous utilisez Ethernet, un nom d'interface différent apparaîtra, ce qui est bien.

Maintenant, ma VM, qui s'appelle ubuntuvm, apparaît sur ma configuration LAN comme suit. Vérifiez les paramètres de votre routeur pour voir si la même chose fonctionne pour vous.

Une fois que vous connaissez l'adresse IP de votre VM, vous pouvez vous y connecter en SSH en exécutant la commande :

$ ssh @ip.adresse.de.votre.vm

Si vous avez mis une phrase secrète pour votre clé privée dans les étapes ci-dessus, vous seriez invité à la ressaisir.

C'est ça! Vous pouvez maintenant démarrer vos machines virtuelles en mode sans tête et simplement y accéder depuis n'importe où dans votre maison. J'espère que vous avez trouvé ce tutoriel intéressant, faites-nous savoir s'il y a un sujet que vous voudriez que nous abordions.

Tutoriel Bataille pour Wesnoth
The Battle for Wesnoth est l'un des jeux de stratégie open source les plus populaires auxquels vous pouvez jouer en ce moment. Non seulement ce jeu es...
0 A.ré. Didacticiel
Sur les nombreux jeux de stratégie disponibles, 0 A.ré. parvient à se démarquer comme un titre complet et un jeu tactique très profond bien qu'il soit...
Tutoriel Unity3D
Introduction à Unity 3D Unity 3D est un puissant moteur de développement de jeux. C'est une plateforme multiplateforme qui vous permet de créer des je...