accueil > Gestion réseau > openssh-server

Serveur OpenSSH : Configuration et gestion du service SSH

OpenSSH Server est un paquet logiciel qui fournit une communication cryptée sécurisée vers des systèmes distants en utilisant le protocole Secure Shell (SSH). Ce paquet comprend principalement le démon 'sshd', qui permet la connexion à distance, le transfert de fichiers (SCP, SFTP) et le tunneling. Il est essentiel pour les administrateurs système afin de gérer les serveurs à distance et pour les utilisateurs d'accéder aux fichiers en toute sécurité.

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.


Commandes de la même catégorie