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 machine virtuelle. Peut-être que c'est juste un système d'exploitation de serveurs en cours de 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 être utile lorsque vous ne voulez pas utiliser l'interface graphique de votre machine virtuelle. Commencez simplement votre machine virtuelle dans un mode sans tête et ssh dans et hors de lui sans avoir plusieurs fenêtres ouvertes dans votre terminal.

Pour ceux qui sont nouveaux à l'idée de SSH, nous aurons une courte 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 d'avoir accès à cette machine virtuelle de n'importe où dans votre réseau.

Comment fonctionne SSH-Keys?

Voici un modèle simplifié de la façon dont SSH fonctionne. Vous créez une paire de clés sur votre ordinateur local. Une clé publique et une clé privée. Les messages crypté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 sur un chemin ~ /.ssh / id_rsa(clé privée) et~ /.ssh / id_rsa.pem(la clé publique).

Vous allez ensuite sur votre serveur distant, vous connectez à une console en tant qu'utilisateur régulier ou racine, ouvrez le fichier ~ /.SSH / AUTORISED_KEYSde ce serveur. Ici, vous entrez dans le contenu de votre clé publique car. Une fois cela fait, vous pouvez SSH comme l'utilisateur sur le serveur dont .Le répertoire SSH a le Authorized_keys, 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 juste ce que le chiffrement du cryptage est utilisé (dans ce cas, il se trouve que c'est RSA). La clé privée peut être protégée en outre par une phrase secrète que vous devrez entrer, chaque fois que vous souhaitez vous connecter à un serveur distant en utilisant 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 les clés à l'aide de terminal, et vous pouvez également SSH dans des serveurs distants en utilisant le même terminal. Pour les utilisateurs de Windows, je suggère d'utiliser le mastic ou le 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 keys SSH

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

Dans ton machine locale, Ouvrez le terminal et entrez la commande:

$ ssh-keygen

Ceci sera suivi par les invites suivantes avec des valeurs de support indiquant les valeurs par défaut. Procéder aux invites et donner à 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é.

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

$ statut de service sshd

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

$ sudo ufw statut

Si si n'est pas ouvert au port 22, utilisez la commande suivant:

$ sudo ufw autoriser SSH

Ouvrez ensuite le fichier ~ /.SSH / AUTORISED_KEYS Sur votre machine virtuelle, en utilisant votre éditeur de texte préféré. Vous voudrez peut-être activer l'hôte à l'odeur ou le presse-papiers bidirectionnel pour cette prochaine étape.

À l'intérieur de ce fichier (en bas du fichier, s'il n'est pas vide) collez dans le contenu de votre Clé publique. La dernière partie où il indique 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) n'utilisant pas SSH-keys

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

#PasswordAuthentication Non
Pour
PasswordAuthentication Oui

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

$ service sshd redémarrer

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

Votre machine virtuelle et votre réseau

Pour vous, SSH dans votre machine virtuelle, à la fois votre ordinateur local (celui avec la clé privée) et la machine virtuelle devrait être sur le même réseau. Vous pouvez donc atteindre l'adresse IP de cette machine virtuelle. Nous allons vous montrer comment ajouter la machine virtuelle à 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 bureau obtient une IP, tout comme votre téléphone et votre ordinateur portable. Seuls les appareils connectés à ce routeur peuvent se parler via leurs adresses IP.

Activer le mode de réseautage ponté dans les paramètres de votre machine virtuelle et la machine virtuelle s'affichera 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 machine virtuelle.

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

Comme vous pouvez le voir, mon hôte est connecté à l'aide de Wireless afin que la connexion soit également partagée par la machine virtuelle, si vous utilisez Ethernet, un nom d'interface différent apparaîtrait, ce qui est bien.

Maintenant, ma machine virtuelle, qui est nommée ubunvm, apparaît sur ma configuration LAN comme suivant. 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 machine virtuelle, vous pouvez s'y rendre en exécutant la commande:

$ ssh @ip.adresse.de.ton.machine virtuelle

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

C'est ça! Maintenant, vous pouvez démarrer vos machines virtuelles en mode sans tête et simplement les faire à partir de 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 couvrions.