Le paramètre dans le fichier de configuration du serveur OpenSSH (`/etc/ssh/sshd_config`) qui contrôle si la connexion root avec authentification par mot de passe est autorisée est `PermitRootLogin`.
Pour autoriser la connexion root avec un mot de passe, vous devez le définir sur « oui » :
```
PermitRootLogin oui
```
Cependant, il est fortement déconseillé d'activer la connexion root avec l'authentification par mot de passe pour des raisons de sécurité. Cela rend votre serveur beaucoup plus vulnérable aux attaques par force brute. Il est recommandé de :
1. Désactiver complètement l'authentification par mot de passe (`Mot de passeAuthentification non`)
2. Utilisez les clés SSH pour l'authentification
3. Si vous devez autoriser la connexion root, utilisez `PermitRootLogin prohibit-password` . Cela autorise la connexion root *uniquement* avec les clés SSH, mais la désactive avec les mots de passe.
Voici une liste des paramètres recommandés :
* Meilleures pratiques (les plus sécurisées) :
```
PermitRootLogin interdit-mot de passe # ou "non"
PasswordAuthentication no # Désactiver l'authentification par mot de passe en général
```
* Si vous avez *vraiment* besoin d'une authentification par mot de passe pour root (non recommandé) :
```
PermitRootLogin oui
Authentification par mot de passe oui
```
Après avoir apporté des modifications à `sshd_config`, vous DEVEZ redémarrer le service SSH pour que les modifications prennent effet :
```bash
sudo systemctl restart sshd # Sur les systèmes systemd (Linux le plus moderne)
sudo service ssh restart # Sur les anciens systèmes sysvinit
```
Considérations de sécurité importantes :
* Attaques par force brute : L'activation de l'authentification par mot de passe pour root fait de votre serveur une cible facile pour les attaques automatisées qui tentent de deviner le mot de passe root.
* Clés SSH : Les clés SSH offrent un moyen d’authentification beaucoup plus sécurisé. Ils sont cryptographiquement forts et pratiquement impossibles à utiliser par force brute.
* sudo : Une meilleure alternative à la connexion root directe consiste à vous connecter en tant qu'utilisateur normal et à utiliser « sudo » pour exécuter des commandes nécessitant les privilèges root. Cela fournit une piste d'audit et limite les dommages potentiels si un attaquant compromet le compte utilisateur.
En résumé, bien que « PermitRootLogin yes » autorise techniquement la connexion root avec un mot de passe, vous devez éviter de l'utiliser et donner la priorité à l'utilisation des clés SSH et à la désactivation de l'authentification par mot de passe. Si vous devez autoriser la connexion root, utilisez « PermitRootLogin prohibit-password » pour imposer l'utilisation des clés SSH uniquement.
|