# Présentation de la procédure
Cette procédure décrit comment désinstaller OpenSSH et supprimer toutes les clés générées, afin de préparer correctement une machine virtuelle avant sa duplication :
- Arrêter et désinstaller OpenSSH.
- Supprimer les clés SSH utilisateur et serveur.
- Nettoyer les dépendances résiduelles.
> [!danger] Attention !<span style="font-weight: normal; color: var(--text-normal)"> Toujours désinstaller OpenSSH avant de dupliquer une VM sinon les clés seront identiques sur toutes les machines, ce qui constitue une faille de sécurité.</span>
# Pourquoi désinstaller OpenSSH avant de cloner une VM ?
Si OpenSSH est déjà présent lors de la duplication, les clés générées par le serveur seront identiques sur toutes les machines clonées, ce qui représente une faille de sécurité majeure.
Les clés d’hôte SSH servent d’identité cryptographique au serveur. Si plusieurs serveurs possèdent la même identité, un client SSH ne pourra plus distinguer une machine de l’autre, ce qui expose l’infrastructure à des risques d’usurpation et d’attaques.
> [!info] À savoir !<span style="font-weight: normal; color: var(--text-normal)"> Il est recommandé de réinstaller OpenSSH qu’après la duplication et le premier démarrage de chaque nouvelle VM. Cela permet de générer automatiquement des clés uniques et sécurisées pour chaque serveur.</span>
# Désinstaller OpenSSH sous Debian
Arrêter le service `sshd` :
```bash
sudo systemctl stop sshd
sudo systemctl disable sshd
```
> [!info] À savoir !<span style="font-weight: normal; color: var(--text-normal)"> Le service openssh-server utilise parfois le nom `ssh` (et non `sshd`) selon les distributions.</span>
Désinstaller le paquet en ajoutant l'option `--purge` :
```bash
sudo apt purge -y openssh-server
```
Supprimer les clés générées par l’utilisateur courant dans son répertoire personnel :
```bash
rm -rf ~/.ssh
```
Supprimer les clés générées par le compte root :
```bash
sudo rm -rf /root/.ssh
```
Supprimer les clés hôte générées par le serveur ainsi que l'ensemble des fichiers de configurations personnalisées :
```bash
sudo rm -rf /etc/ssh
```
Si vous souhaitez supprimer uniquement les clés hôte générées par le serveur sans supprimer les fichiers de configuration, utilisez plutôt la commande suivante :
```bash
sudo rm -f /etc/ssh/ssh_host_*
```
Nettoyer les dépendances et les paquets inutiles
```bash
sudo apt autoremove -y && sudo apt autoclean -y
```
# Conclusion
> [!done] Félicitations !<span style="font-weight: normal; color: var(--text-normal)"> Vous savez désormais désinstaller OpenSSH et supprimer toutes les clés associées, garantissant ainsi que chaque VM clonée disposera de sa propre identité cryptographique et d’un niveau de sécurité optimal.</span>
En suivant cette procédure avant toute duplication, vous évitez un risque critique : des serveurs partageant les mêmes clés SSH.
Pour finaliser la préparation, réinstallez OpenSSH après le premier démarrage de chaque VM pour générer automatiquement de **nouvelles clés uniques et sécurisées**.
Pour la marche à suivre, consultez l’article [[kb-lnx-openssh-install]].