SSH (Secure Shell) est le protocole standard pour l'administration distante sécurisée des serveurs Linux. Il remplace les protocoles non sécurisés comme Telnet et rlogin. Ce module vous apprend à configurer, durcir et utiliser SSH en environnement professionnel.
dpkg -l | grep openssh-serverapt install openssh-serversystemctl status sshsystemctl enable ssh/etc/ssh/sshd_config)| Directive | Valeur recommandée | Description |
|---|---|---|
Port | 2222 (ou autre) | Changer le port par défaut (22) pour réduire les attaques. |
PermitRootLogin | no | Interdire la connexion directe en root. |
PasswordAuthentication | no | Forcer l'authentification par clé (plus sécurisée). |
PubkeyAuthentication | yes | Activer l'authentification par clé publique. |
AllowUsers | user1 user2 | Limiter les utilisateurs autorisés. |
MaxAuthTries | 3 | Limiter les tentatives d'authentification. |
ClientAliveInterval | 300 | Timeout pour les sessions inactives. |
Générer une clé RSA de 4096 bits :
ssh-keygen -t rsa -b 4096 -C "mon@email.com"
-t rsa : type de clé (RSA).-b 4096 : taille de la clé (recommandé).-C "mon@email.com" : commentaire (identifiant).~/.ssh/id_rsa (privée) et ~/.ssh/id_rsa.pub (publique).Copier la clé publique sur le serveur :
ssh-copy-id user@serveur
ssh-copy-id : copie automatiquement la clé publique dans ~/.ssh/authorized_keys.cat ~/.ssh/id_rsa.pub | ssh user@serveur "cat >> ~/.ssh/authorized_keys"PasswordAuthentication no.PermitRootLogin no.ssh-keygen -t ed25519).ssh-agent : pour éviter de retaper la passphrase à chaque connexion.AllowUsers user1 user2.LogLevel VERBOSE pour traquer les tentatives.Exemple de configuration sécurisée :
# /etc/ssh/sshd_config Port 2222 PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes AllowUsers alice bob MaxAuthTries 3 ClientAliveInterval 300 LogLevel VERBOSE
Ajouter une clé à ssh-agent :
eval $(ssh-agent) ssh-add ~/.ssh/id_rsa
ssh-agent : gestionnaire de clés (évite de retaper la passphrase).ssh-add : ajoute la clé privée à l'agent.Quelle directive dans sshd_config permet de désactiver l'authentification par mot de passe ?
PasswordAuthentication no
Quelle commande génère une paire de clés Ed25519 ?
ssh-keygen -t ed25519
1. Le fichier de configuration du serveur SSH est :
2. Pour interdire le login root via SSH, on utilise :
3. La clé publique SSH est stockée dans :
4. La commande ssh-copy-id permet de :
5. Pour changer le port SSH par défaut, on modifie la directive :