Ce guide explique comment configurer une connexion SSH entre votre hôte Windows 11 et une machine virtuelle VMware. Vous découvrirez les étapes de base, puis les configurations avancées avec clé SSH pour une connexion sans mot de passe.
Étape 1 : Obtenir l'adresse IP de la machine virtuelle
Connectez-vous à votre VM et exécutez la commande suivante :
ifconfig
Notez l'adresse IP (par exemple 192.168.217.128). Si la commande n'est pas disponible, installez le paquet net-tools.
Étape 2 : Configurer le transfert de port dans VMware
Ouvrez l'éditeur de réseau virtuel de VMware (Menu Édition > Éditeur de réseau virtuel). Cliquez sur Modifier les paramètres, sélectionnez VMnet8, puis cliquez sur Paramètres NAT. Ajoutez une nouvelle règle :
- Port hôte :
22 - Type : TCP
- Adresse IP de la VM :
192.168.217.128(l'adresse obtenue à l'étape 1) - Port de la VM :
22
Étape 3 : Activer le service SSH sur la VM
sudo apt update
sudo apt install -y openssh-client openssh-server
sudo systemctl restart ssh
sudo systemctl status ssh
Assurez-vous que le service est actif (état "running").
Étape 4 : Vérifier le pare-feu de la VM
sudo ufw status
Si le pare-feu est actif, autorisez le port 22 :
sudo ufw allow 22
Étape 5 : Connexion SSH
Exemple A : Connexion en ligne de commande
Dans un terminal Windows (PowerShell, CMD ou Git Bash), exécutez :
ssh utilisateur@192.168.217.128
Remplacez utilisateur par votre nom d'utilisateur sur la VM. Saisissez le mot de passe lorsqu'il est demandé.
Exemple B : Connexion avec MobaXterm
Ouvrez MobaXterm, cliquez sur Session, puis SSH. Saisissez :
- Adresse IP :
192.168.217.128 - Nom d'utilisateur :
votre_utilisateur - Port :
22
Cliquez sur OK, puis saisissez le mot de passe.
Exemple C : Connexion avec Visual Studio Code
Dans VSCode, ouvrez la palette de commandes (F1) et cherchez Remote-SSH: Connect to Host. Si l'extension n'est pas installée, suivez les instructions. Choisissez Add New SSH Host, puis saisissez :
ssh utilisateur@192.168.217.128 -A
Après avoir sauvegardé, vous pouvez vous connecter en sélectionnant l'hôte ajouté. Pour personnaliser le nom, modifiez le fichier de configuration SSH :
- Dans l'explorateur VSCode, ouvrez
~/.ssh/config. - Modifiez le paramètre
Hostpour un nom plus parlant, par exemple :
Host UbuntuVM
HostName 192.168.217.128
User utilisateur
Ensuite, connectez-vous en sélectionnant UbuntuVM et en choisissant le système Linux. Saisissez le mot de passe quand demandé.
Étape avancée : authentification par clé SSH (sans mot de passe)
Pour éviter de saisir le mot de passe à chaque connexion et pour maintenir les sessions actives, utilisez une paire de clés SSH.
1. Générer une paire de clés (si ce n'est pas déjà fait)
ssh-keygen -t ed25519 -C "votre_email@exemple.com"
Appuyez sur Entrée pour accepter l'emplacement par défaut (~/.ssh/id_ed25519). Vous pouvez ajouter une phrase de passe ou laisser vide.
2. Copier la clé publique sur la VM
Utilisez la commande :
ssh-copy-id utilisateur@192.168.217.128
Si ssh-copy-id n'est pas disponible, connectez-vous manuellement à la VM et exécutez :
mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Copiez le contenu du fichier local ~/.ssh/id_ed25519.pub et ajoutez-le dans ~/.ssh/authorized_keys de la VM.
3. Configurer le fichier ~/.ssh/config local
Ajoutez ou créez le fichier ~/.ssh/config avec le contenu suivant :
Host UbuntuVM
HostName 192.168.217.128
User utilisateur
IdentityFile ~/.ssh/id_ed25519
Désormais, une simple commande ssh UbuntuVM vous connectera sans mot de passe.
4. Vérifier la configuration du serveur SSH
Sur la VM, assurez-vous que le fichier /etc/ssh/sshd_config contient les lignes suivantes (non commentées) :
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
Si vous avez modifié ce fichier, redémarrez le service SSH :
sudo systemctl restart ssh
Conseil supplémentaire
Pour maintenir la connexion active même après une déconnexion réseau, vous pouvez utiliser tmux ou screen sur la VM. Installez tmux :
sudo apt install tmux
Lancez tmux une fois connecté, puis détachez-vous avec Ctrl+B puis d. Vous pourrez vous reconnecter plus tard avec tmux attach.