Installer, configurer et sécuriser le serveur SSH sur Debian 13 avec authentification par clé.
Intermédiaire — SISR 1ère année
⏱️ 15 min
📁 Administration système
🎯 Objectifs de la fiche
- Installation OpenSSH — Installer le paquet serveur SSH
- Fichier sshd_config — Paramétrer le démon SSH
- Authentification par clé — Générer et déployer les clés
- Firewall & test — UFW + vérification finale
Prérequis
Machine Debian 13 installée avec accès root ou sudo. Accès réseau fonctionnel (vérifier avec ping 8.8.8.8). Un client SSH sur la machine distante (OpenSSH sous Linux/macOS, PuTTY ou Windows Terminal sous Windows).
1. Installation du serveur SSH
Sur Debian 13, le paquet openssh-server n'est pas toujours installé par défaut.
apt update && apt install openssh-server -y
systemctl enable --now ssh
systemctl status ssh
💡 Toujours vérifier que le service est bien en état active (running) avant de continuer. Si le service ne démarre pas, consultez les logs avec : journalctl -u ssh -n 50
2. Configuration de sshd_config
nano /etc/ssh/sshd_config
| Paramètre | Valeur recommandée | Rôle |
| Port | 2222 | Changer le port par défaut (22) |
| PermitRootLogin | no | Interdire la connexion root directe |
| PasswordAuthentication | no | Désactiver l'auth par mot de passe |
| PubkeyAuthentication | yes | Activer l'auth par clé |
| AllowUsers | monuser | Restreindre les utilisateurs autorisés |
| LoginGraceTime | 30 | Timeout de connexion en secondes |
| MaxAuthTries | 3 | Tentatives max par connexion |
| X11Forwarding | no | Désactiver si inutile |
Port 2222
PermitRootLogin no
LoginGraceTime 30
MaxAuthTries 3
PubkeyAuthentication yes
PasswordAuthentication no
X11Forwarding no
AllowUsers monuser
⚠️ Ne désactivez pas PasswordAuthentication maintenant. Faites-le uniquement après avoir configuré et testé l'authentification par clé (étape 3). Changez-le en deux temps pour éviter de perdre l'accès à la machine.
Après modification, tester la configuration avant de redémarrer :
sshd -t
systemctl restart ssh
3. Authentification par clé SSH
3.1 Génération de la paire de clés (côté client)
ssh-keygen -t ed25519 -C "poste-etudiant-votre-nom"
ℹ️ Préférez ed25519 (plus moderne et sûr) à RSA. Évitez DSA qui est obsolète et désactivé sur Debian 13 par défaut. Deux fichiers sont créés : ~/.ssh/id_ed25519 (clé privée, ne jamais partager) et ~/.ssh/id_ed25519.pub (clé publique, à déposer sur le serveur).
3.2 Déploiement de la clé sur le serveur
ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 2222 monuser@IP_DU_SERVEUR
3.3 Test de la connexion par clé
ssh -i ~/.ssh/id_ed25519 -p 2222 monuser@IP_DU_SERVEUR
4. Configuration du pare-feu (UFW)
apt install ufw -y
ufw allow 2222/tcp
ufw enable
ufw status
⛔ Avant d'activer UFW, assurez-vous que votre port SSH est bien dans les règles avec ufw status. Si vous oubliez cette étape et activez UFW, vous perdez l'accès SSH à la machine.
5. Tests et vérifications finales
ssh -p 2222 monuser@IP_DU_SERVEUR
journalctl -u ssh -f
sshd -t
ss -tnp | grep sshd
Quelle commande permet d'installer le serveur SSH sur Debian ?
- apt install ssh
- apt install openssh-server
- apt install sshd
- systemctl enable ssh
✅ Réponse : apt install openssh-server
Quel paramètre de sshd_config désactive la connexion root directe ?
- PermitRootLogin no
- DenyRootLogin yes
- RootAccess no
- PermitRoot false
✅ Réponse : PermitRootLogin no
Quel type de clé SSH est recommandé (moderne et sécurisé) ?
✅ Réponse : ed25519
À quoi sert la commande ssh-copy-id ?
- Générer une paire de clés
- Copier la clé publique sur le serveur
- Tester la connexion SSH
- Supprimer une clé SSH
✅ Réponse : Copier la clé publique sur le serveur
Avant d'activer UFW, il faut s'assurer que :
- le port SSH est autorisé
- le pare-feu est désinstallé
- le serveur SSH est arrêté
- le mot de passe root est changé
✅ Réponse : le port SSH est autorisé
- Fail2ban — Protection contre les attaques par force brute SSH
- Tunneling SSH — Redirection de ports applicatifs via SSH
- ssh-agent — Éviter de saisir la passphrase à chaque connexion
- Hardening SSH avancé — Chiffrement, bannières, restrictions IP