accueil > Gestion réseau > ssh-server

Serveur SSH (sshd) : Gestion de la connexion à distance

Le serveur SSH est un logiciel qui fournit un accès sécurisé aux systèmes distants en utilisant le protocole Secure Shell (SSH). Il fonctionne principalement sous le nom de service `sshd` (SSH Daemon) et permet l'exécution de commandes à distance, le transfert de fichiers (SCP/SFTP) et le transfert de ports via un canal de communication crypté. Il est essentiel pour diverses tâches à distance telles que la gestion de systèmes, le développement et le transfert de données.

Aperçu

Le serveur SSH reçoit et authentifie les demandes de connexion SSH des clients, puis établit une session de communication sécurisée. Cela permet d'exécuter des commandes ou de transférer des fichiers en toute sécurité à distance. Le composant principal du serveur est le démon `sshd`, qui est généralement configuré pour démarrer automatiquement au démarrage du système.

Fonctionnalités principales

Fonctionnalités clés offertes par le serveur SSH.

  • Accès au shell distant : Connexion à un serveur distant via un terminal crypté pour exécuter des commandes
  • Transfert de fichiers sécurisé : Téléchargement/téléversement de fichiers en utilisant SCP (Secure Copy) et SFTP (SSH File Transfer Protocol)
  • Transfert de ports : Tunnelisation de ports locaux/distants pour fournir un accès sécurisé aux services non sécurisés
  • Authentification par clé : Authentification de sécurité plus forte en utilisant des clés SSH au lieu de mots de passe

Options principales (commande sshd)

Options principales utilisées lors de l'exécution directe du démon `sshd`. Généralement, il est exécuté via un gestionnaire de services comme `systemd`, donc ces options sont principalement utiles pour le débogage ou les tests de configuration spécifiques.

Exécution et débogage

Commande générée :

Essayez de combiner les commandes.

Description:

`ssh-server` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Installation

Sur la plupart des distributions Linux, le serveur SSH est fourni via le paquet `openssh-server`. S'il n'est pas installé par défaut, vous pouvez l'installer en utilisant les commandes suivantes.

Systèmes basés sur Debian/Ubuntu

sudo apt update
sudo apt install openssh-server

Installe `openssh-server` en utilisant le gestionnaire de paquets APT.

Systèmes basés sur CentOS/RHEL

sudo yum install openssh-server
# Ou pour Fedora/RHEL récent :
sudo dnf install openssh-server

Installe `openssh-server` en utilisant le gestionnaire de paquets YUM ou DNF.

Exemples d'utilisation

Méthodes courantes pour gérer et configurer le serveur SSH.

Démarrer le service SSH

sudo systemctl start ssh

Démarre le service du démon SSH (`sshd`).

Redémarrer le service SSH

sudo systemctl restart ssh

Redémarre le service du démon SSH. Généralement utilisé après avoir modifié le fichier de configuration pour appliquer les changements.

Vérifier l'état du service SSH

sudo systemctl status ssh

Vérifie l'état actuel du service du démon SSH.

Activer le démarrage automatique du service SSH

sudo systemctl enable ssh

Configure le service SSH pour qu'il démarre automatiquement au démarrage du système.

Ouvrir le port SSH dans le pare-feu (UFW)

sudo ufw allow ssh
# Ou si vous utilisez un port spécifique :
sudo ufw allow 2222/tcp

Si vous utilisez UFW (Uncomplicated Firewall), autorise le port SSH par défaut (22).

Modifier le fichier de configuration SSH

sudo nano /etc/ssh/sshd_config

Modifie le fichier de configuration principal du serveur SSH, `sshd_config`. Après modification, il est impératif de redémarrer le service SSH.

Conseils et précautions

Conseils et précautions importants pour exploiter le serveur SSH de manière sécurisée et efficace.

Conseils de renforcement de la sécurité

Recommandations pour renforcer la sécurité du serveur SSH.

  • **Changer le port par défaut** : Modifiez le port SSH par défaut (22) à un port moins connu (par exemple, 2222) pour réduire les tentatives d'attaques par balayage. (Modifier la directive `Port` dans le fichier `/etc/ssh/sshd_config`)
  • **Utiliser l'authentification par clé au lieu du mot de passe** : Générez une paire de clés SSH pour offrir une sécurité beaucoup plus forte que l'authentification par mot de passe. (Définir `PasswordAuthentication no`)
  • **Désactiver la connexion root** : Interdisez la connexion SSH directe en tant que compte `root` et utilisez plutôt un compte utilisateur normal suivi de `sudo`. (Définir `PermitRootLogin no`)
  • **Utiliser Fail2Ban** : Installez des outils comme `Fail2Ban` qui bloquent automatiquement les adresses IP après des échecs de connexion répétés pour se défendre contre les attaques par force brute.
  • **Restreindre les utilisateurs/groupes autorisés** : Spécifiez explicitement les utilisateurs ou groupes autorisés à se connecter via SSH en utilisant les directives `AllowUsers` ou `AllowGroups`.

file Chemin du fichier de configuration SSH

/etc/ssh/sshd_config

Le fichier de configuration principal du serveur SSH se trouve à l'emplacement suivant.


Commandes de la même catégorie