TP : Secure Shell (SSH)
Objectifs
Comprendre le fonctionnement de SSH
Installer et configurer le serveur SSH
Se connecter en SSH avec mot de passe et clés SSH
Sécuriser SSH (changer port, désactiver root, 2FA, firewall)
Gérer les clés SSH et agents
Dépanner les problèmes SSH
Partie 1 : Introduction & Installation
Qu’est-ce que SSH ?
Protocole réseau sécurisé pour accéder à distance à un shell Linux
Chiffrement des communications
Utilisé pour administration, transfert de fichiers, tunnels
Installer OpenSSH Server
# Sur Debian/Ubuntu
sudo apt update && sudo apt install openssh-server
# Sur CentOS/RHEL/Fedora
sudo yum install openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
Vérifier que SSH est actif
sudo systemctl status sshd
# ou
ps aux | grep sshd
Partie 2 : Connexion de base : cloner votre machine pour tester
Connexion avec mot de passe :
1/3
Sur la machine cliente
ssh utilisateur@IP_serveur
Entrer le mot de passe
Quitter : exit
Partie 3 : Gestion des clés SSH (authentification par clé)
Générer une paire de clés sur la machine cliente
ssh-keygen -t rsa -b 4096 -C "user@[Link]"
# Appuyez sur Entrée pour les chemins et passphrase (optionnel)
Copier la clé publique sur le serveur
ssh-copy-id utilisateur@IP_serveur
Se reconnecter : plus besoin de mot de passe
Partie 4 : Configuration avancée du serveur SSH
Éditer le fichier /etc/ssh/sshd_config
# Changer le port SSH (par défaut 22)
Port 2222
# Désactiver la connexion root directe
PermitRootLogin no
# Autoriser uniquement l’authentification par clé
PasswordAuthentication no
# Limiter les utilisateurs autorisés
AllowUsers utilisateur1 utilisateur2
# Activer la journalisation verbose (utile pour debug)
LogLevel VERBOSE
Appliquer la nouvelle config
sudo systemctl restart sshd
Partie 5 : Dépannage SSH
Mode verbeux pour debug
2/3
ssh -v utilisateur@serveur
# ou -vv ou -vvv pour plus de détails
Vérifier les logs serveur
sudo tail -f /var/log/[Link] # Debian/Ubuntu
sudo journalctl -u sshd -f # systemd systems
Problèmes fréquents
Mauvaise permission sur .ssh ou authorized_keys (doit être 700 pour .ssh, 600 pour
authorized_keys)
Port SSH bloqué par firewall
Mauvaise clé ou absence de clé publique sur serveur
Serveur SSH non démarré
3/3