Guide technique — Administration système

Installation &
Configuration SSH

Secure Shell — protocole de connexion à distance sécurisé. Ce guide couvre l'installation, la configuration par mot de passe et par clé, ainsi que les bonnes pratiques de sécurité.

Auteur
EHAVOX
Mise à jour
2026
Système
Debian / Ubuntu
Sommaire
01

Installation du service SSH

Sur Debian / Ubuntu, installez le paquet openssh-server :

bash
sudo apt update
sudo apt install openssh-server -y

Activer et démarrer le service :

bash
sudo systemctl enable ssh
sudo systemctl start ssh

Vérifier que le service est actif :

bash
sudo systemctl status ssh
02

Fichier de configuration

Le fichier principal de configuration SSH se trouve à l'emplacement suivant :

path
/etc/ssh/sshd_config

Pour éditer le fichier avec les droits nécessaires :

bash
sudo nano /etc/ssh/sshd_config
03

Connexion par mot de passe

Configuration minimale pour autoriser la connexion par mot de passe :

sshd_config
Port                          2201
LoginGraceTime                20
PermitRootLogin               no
MaxAuthTries                  2
AllowUsers                    votre_utilisateur
PasswordAuthentication        yes
PubkeyAuthentication          yes
ChallengeResponseAuthentication no
UsePAM                        yes
  • Port — utiliser un port supérieur à 1023 pour éviter les scans automatiques
  • PermitRootLogin no — interdit la connexion directe en root
  • MaxAuthTries 2 — limite les tentatives d'authentification
  • AllowUsers — restreint les comptes autorisés à se connecter
  • PasswordAuthentication yes — autorise l'authentification par mot de passe
Attention
Utilisez un mot de passe long et complexe, et activez Fail2ban pour protéger votre serveur contre les attaques par force brute.
04

Connexion par clé SSH (Recommandé)

1 — Générer une paire de clés sur votre machine cliente :

bash
ssh-keygen -t ed25519 -a 100
Info
L'option -a 100 renforce la dérivation de la clé privée (KDF rounds). Voir la documentation officielle.

2 — Copier la clé publique sur le serveur :

bash
ssh-copy-id -p 2201 utilisateur@IP_DU_SERVEUR

3 — Configuration sécurisée côté serveur (après validation de la clé) :

sshd_config
Port                          2201
PermitRootLogin               no
MaxAuthTries                  2
AllowUsers                    votre_utilisateur
PasswordAuthentication        no
PubkeyAuthentication          yes
ChallengeResponseAuthentication no
UsePAM                        yes
Info
Après avoir validé le bon fonctionnement de la clé, désactivez PasswordAuthentication pour renforcer considérablement la sécurité.
05

Configuration optimale (Serveur public)

Configuration recommandée pour un VPS ou un serveur exposé sur Internet :

sshd_config
# ── Réseau ──────────────────────────────────
Port                    2201
AddressFamily           inet
ListenAddress           0.0.0.0

# ── Authentification ────────────────────────
PermitRootLogin         no
MaxAuthTries            2
LoginGraceTime          20
AllowUsers              votre_utilisateur
PasswordAuthentication  no
PubkeyAuthentication    yes
AuthenticationMethods   publickey

# ── Sécurité ────────────────────────────────
X11Forwarding           no
AllowTcpForwarding      no
ClientAliveInterval     300
ClientAliveCountMax     2
UseDNS                  no
06

Redémarrer le service SSH

bash
sudo systemctl restart ssh
Attention
Toujours tester une nouvelle connexion dans un second terminal avant de fermer votre session en cours, afin d'éviter de vous retrouver bloqué hors du serveur.
07

Sécurisation avancée

  • Installer et configurer Fail2ban pour bloquer les tentatives d'intrusion automatisées
  • Configurer un pare-feu (UFW / iptables / firewalld) et n'autoriser que le port SSH choisi
  • Utiliser uniquement l'authentification par clé — désactiver le mot de passe après validation
  • Limiter l'accès SSH à certaines adresses IP sources si l'infrastructure le permet