article:configuration_debian_-_serveur_de_virtualisation_kvm_ssh
🐧 Configuration Debian - Serveur de Virtualisation KVM + SSH
Objectif : Installer Debian sur un PC portable sans interface graphique, avec virt-manager accessible à distance via SSH tunnel sécurisé.
1. Installation Debian
- ISO : Debian netinst (installation minimale)
- Options : Installation minimale (sans environnement de bureau)
- Paquets à cocher : ✅ OpenSSH server
- Partitionnement : LVM recommandé pour flexibilité future
2. Installation KVM/QEMU + virt-manager
# Mise à jour
sudo apt update && sudo apt upgrade -y
# Paquets de virtualisation
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst
# Permissions utilisateur
sudo usermod -aG libvirt $(whoami)
sudo usermod -aG kvm $(whoami)
# Activer le service
sudo systemctl enable --now libvirtd
sudo systemctl status libvirtd
# Vérifier la virtualisation matérielle
egrep -c '(vmx|svm)' /proc/cpuinfo # Doit retourner > 0
3. Configuration SSH Sécurisée
⚠️ Sécurité : Utilisez uniquement des clés SSH, jamais de mots de passe
# Éditer la configuration SSH
sudo nano /etc/ssh/sshd_config
# Paramètres recommandés :
Port 22
PermitRootLogin prohibit-password
PasswordAuthentication no
PubkeyAuthentication yes
AllowUsers votre_utilisateur
MaxAuthTries 3
# Redémarrer SSH
sudo systemctl restart sshd
# Générer clé SSH (machine cliente)
ssh-keygen -t ed25519 -C "votre_email"
ssh-copy-id -i ~/.ssh/id_ed25519.pub votre_utilisateur@adresse_ip_du_pc
4. Accès virt-manager à Distance
✅ Méthode recommandée : Tunnel SSH (plus sécurisé que l'exposition directe)
# Terminal 1 : Créer le tunnel SSH
ssh -L 16500:localhost:16500 -N votre_utilisateur@adresse_ip_du_pc
# Terminal 2 : Lancer virt-manager localement
virt-manager --connect qemu+ssh://votre_utilisateur@localhost/system
5. Réseau et Stockage
# Vérifier le réseau par défaut
virsh net-list --all
# Créer un pool de stockage
sudo virsh pool-define-as --name default --type dir --target /var/lib/libvirt/images
sudo virsh pool-build default
sudo virsh pool-start default
sudo virsh pool-autostart default
6. Commandes Utiles de Gestion
| Action | Commande |
|---|---|
| Lister les VM | virsh list --all |
| Démarrer une VM | virsh start nom_vm |
| Arrêter une VM | virsh shutdown nom_vm |
| Console d'une VM | virsh console nom_vm |
| Statistiques | virsh domstats |
7. Points de Vigilance
| Aspect | Recommandation |
|---|---|
| Sécurité | Clés SSH uniquement, firewall configuré |
| Firewall | UFW ou iptables pour limiter les accès |
| Mises à jour | Activer les mises à jour de sécurité automatiques |
| Sauvegardes | Snapshots réguliers des VM critiques |
| BIOS | Vérifier VT-x/AMD-V activé |
8. Alternatives à Considérer
- Proxmox VE : Distribution basée sur Debian avec interface web intégrée
- Cockpit + plugin Machine : Interface web légère pour gestion libvirt
- Terraform + libvirt provider : Infrastructure as Code pour vos VM
Ressources :
- Documentation Debian : debian.org/doc
- Documentation libvirt : libvirt.org/docs.html
article/configuration_debian_-_serveur_de_virtualisation_kvm_ssh.txt · Dernière modification : de estro
