Aperçu
Le paquet OpenSSH Server fournit 'sshd' (SSH Daemon) pour recevoir et traiter les demandes de connexion des clients SSH. C'est un composant clé pour un accès sécurisé aux systèmes distants, renforçant la sécurité grâce au cryptage des données et à des mécanismes d'authentification robustes.
Fonctionnalités principales
- Connexion à distance et accès au shell (SSH)
- Transfert de fichiers sécurisé (SCP, SFTP)
- Redirection de port et tunneling
- Support de diverses méthodes d'authentification (mot de passe, clé publique, GSSAPI, etc.)
Installation
OpenSSH Server n'est souvent pas inclus par défaut dans la plupart des distributions Linux, ou est exclu lors d'une installation minimale. Voici comment installer OpenSSH Server sur les principales distributions.
Debian/Ubuntu
sudo apt update
sudo apt install openssh-server
Installation à l'aide du gestionnaire de paquets APT.
CentOS/RHEL/Fedora
sudo yum install openssh-server
# Ou en utilisant dnf
sudo dnf install openssh-server
Installation à l'aide du gestionnaire de paquets YUM ou DNF.
Vérification du service après installation
Après l'installation, vérifiez si le service 'sshd' démarre automatiquement et activez-le si nécessaire.
Vérification et activation de l'état du service
sudo systemctl status sshd
sudo systemctl enable sshd --now
Options principales
La configuration principale d'OpenSSH Server se fait via le fichier '/etc/ssh/sshd_config'. Voici quelques-unes des options fréquemment utilisées dans ce fichier de configuration.
Configuration sshd_config
Commande générée :
Essayez de combiner les commandes.
Description:
`openssh-server` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
Exemples courants d'utilisation liés à la configuration et à la gestion d'OpenSSH Server.
Démarrer/Arrêter/Redémarrer le service sshd
sudo systemctl start sshd
sudo systemctl stop sshd
sudo systemctl restart sshd
Contrôle du service sshd sur les systèmes utilisant systemd.
Vérifier l'état du service sshd
sudo systemctl status sshd
Vérifie l'état actuel du démon sshd.
Changer le port SSH (modification de sshd_config)
sudo sed -i 's/^#Port 22/Port 2222/' /etc/ssh/sshd_config
sudo systemctl restart sshd
Exemple pour changer le port SSH par défaut (22) en 2222. Après avoir modifié le fichier, vous devez redémarrer le service sshd.
Désactiver la connexion root
sudo sed -i 's/^PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
sudo systemctl restart sshd
Renforce la sécurité en réglant PermitRootLogin sur 'no' dans sshd_config.
Autoriser la connexion uniquement à des utilisateurs spécifiques
echo 'AllowUsers myuser' | sudo tee -a /etc/ssh/sshd_config
sudo systemctl restart sshd
Ajoute l'option 'AllowUsers' à sshd_config pour autoriser uniquement l'utilisateur 'myuser' à se connecter via SSH.
Conseils et précautions
Conseils et précautions pour une exploitation sûre et efficace d'OpenSSH Server.
Conseils de renforcement de la sécurité
- **Changer le port par défaut (22)** : Peut réduire l'exposition aux attaques par force brute.
- **Désactiver l'authentification par mot de passe, utiliser l'authentification par clé publique** : C'est la méthode d'authentification la plus robuste. Les mots de passe risquent d'être devinés ou divulgués.
- **Désactiver la connexion root** : Le compte root possède tous les privilèges, il est donc plus sûr de ne pas autoriser la connexion directe et d'utiliser un compte utilisateur normal suivi de `sudo`.
- **Autoriser uniquement des utilisateurs/groupes spécifiques** : Limitez les comptes autorisés à se connecter en utilisant les options `AllowUsers` ou `AllowGroups`.
- **Configurer le pare-feu** : Configurez le pare-feu (ufw, firewalld, etc.) pour n'autoriser que les connexions externes sur le port SSH (par défaut 22 ou le port modifié).
- **Installer Fail2ban** : Bloque les adresses IP après des échecs de connexion répétés pour se défendre contre les attaques par force brute.
Précautions lors de la modification de la configuration
Après avoir modifié le fichier sshd_config, vous devez impérativement vérifier les erreurs de syntaxe du fichier de configuration avec la commande `sudo sshd -t`, puis redémarrer le service avec la commande `sudo systemctl restart sshd`. Redémarrer le service avec une configuration erronée peut rendre la connexion SSH impossible.