GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer et activer le serveur SSH sur Debian 10

Ce tutoriel se concentre sur l'installation et la configuration d'un serveur SSH sur un serveur minimal Debian 10

SSH , pour Secure Shell , est un protocole réseau utilisé pour opérer des connexions à distance à des machines distantes au sein d'un réseau local ou sur Internet. Les architectures SSH incluent généralement un serveur SSH utilisé par les clients SSH pour se connecter à la machine distante.

En tant qu'administrateur système, il est très probable que vous utilisiez SSH quotidiennement pour vous connecter à des machines distantes sur votre réseau.

Par conséquent, lorsque de nouveaux hôtes sont intégrés à votre infrastructure, vous devrez peut-être les configurer pour installer et activer SSH sur eux.

Dans ce tutoriel, nous allons voir comment vous pouvez installer et activer SSH, via OpenSSH , sur une distribution Debian 10.

Prérequis

Pour installer un serveur SSH sur Debian 10, vous devez disposer des privilèges sudo sur votre hôte.

Pour vérifier si vous avez ou non les privilèges sudo, exécutez la commande suivante

$ sudo -l

Si vous voyez les entrées suivantes sur votre terminal, cela signifie que vous avez des privilèges élevés

Par défaut, l'utilitaire ssh doit être installé sur votre hôte, même sur des configurations minimales.

Afin de vérifier la version de votre utilitaire SSH, vous pouvez exécuter la commande suivante

$ ssh -V

Comme vous pouvez le voir, j'utilise OpenSSH v7.9 avec OpenSSL v1.1.1.

Notez que cela ne signifie pas que les serveurs SSH sont installés sur mon hôte, cela signifie simplement que je peux me connecter à des machines distantes en tant que client à l'aide de l'utilitaire SSH.

Cela signifie également que des utilitaires spécifiques liés au protocole SSH (comme scp par exemple) ou liés aux serveurs FTP (comme sftp) seront disponibles sur mon hébergeur.

Installation du serveur OpenSSH sur Debian 10

Tout d'abord, assurez-vous que vos packages sont à jour en exécutant une commande de mise à jour

$ sudo apt-get update

Pour installer un serveur SSH sur Debian 10, exécutez la commande suivante

$ sudo apt-get install openssh-server

La commande doit exécuter un processus d'installation complet et configurer tous les fichiers nécessaires pour votre serveur SSH.

Si l'installation a réussi, vous devriez maintenant avoir un service sshd installé sur votre hôte.

Pour vérifier votre service nouvellement installé, exécutez la commande suivante

$ sudo systemctl status sshd

Par défaut, votre serveur SSH fonctionnera sur le port 22.

Il s'agit du port par défaut attribué aux communications SSH. Vous pouvez vérifier si c'est le cas sur votre hôte en exécutant la commande netstat suivante

$ netstat -tulpn | grep 22

Génial! Votre serveur SSH est maintenant opérationnel sur votre hôte Debian 10.

Activer le trafic SSH dans les paramètres de votre pare-feu

Si vous utilisez UFW comme pare-feu par défaut sur votre système Debian 10, il est probable que vous deviez autoriser les connexions SSH sur votre hôte.

Pour activer les connexions SSH sur votre hôte, exécutez la commande suivante

$ sudo ufw allow ssh

Activer le serveur SSH au démarrage du système

Comme vous l'avez probablement vu, votre serveur SSH s'exécute désormais en tant que service sur votre hôte.

Il est également très probable qu'il soit chargé de démarrer au démarrage.

Pour vérifier si votre service est activé ou non, vous pouvez exécuter la commande suivante

$ sudo systemctl list-unit-files | grep enabled | grep ssh

Si aucun résultat ne s'affiche sur votre terminal, activez le service et relancez la commande

$ sudo systemctl enable ssh

Configuration de votre serveur SSH sur Debian

Avant de donner accès aux utilisateurs via SSH, il est important d'avoir un ensemble de paramètres sécurisés pour éviter d'être attaqué, surtout si votre serveur fonctionne comme un VPS en ligne.

Comme nous l'avons déjà vu dans le passé, les attaques SSH sont assez courantes mais elles peuvent être évitées si nous modifions les paramètres par défaut disponibles.

Par défaut, vos fichiers de configuration SSH se trouvent dans /etc/ssh/

Dans ce répertoire, vous allez trouver de nombreux fichiers de configuration différents, mais les plus importants sont :

  • ssh_config :définit les règles SSH pour les clients. Cela signifie qu'il définit des règles qui sont appliquées à chaque fois que vous utilisez SSH pour vous connecter à un hôte distant ou pour transférer des fichiers entre hôtes ;
  • sshd_config :définit les règles SSH pour votre serveur SSH. Il est utilisé par exemple pour définir le port SSH accessible ou pour empêcher des utilisateurs spécifiques de communiquer avec votre serveur.

Nous allons évidemment modifier la partie serveur de notre configuration SSH car nous sommes intéressés par la configuration et la sécurisation de notre serveur OpenSSH.

Modification du port SSH par défaut

La première étape vers l'exécution d'un serveur SSH sécurisé consiste à modifier la valeur par défaut attribuée par le serveur OpenSSH.

Modifiez votre fichier de configuration sshd_config et recherchez la ligne suivante.

#Port 22

Assurez-vous de changer votre port pour un port qui n'est pas réservé à d'autres protocoles. Je choisirai 2222 dans ce cas.

Lors de la connexion à votre hébergeur, s'il ne s'exécute pas sur le port par défaut, vous allez spécifier vous-même le port SSH.

Veuillez vous référer à la section "Connexion à votre serveur SSH" pour plus d'informations.

Désactivation de la connexion racine sur votre serveur SSH

Par défaut, la connexion root est disponible sur votre serveur SSH.

Cela ne devrait évidemment pas être le cas car ce serait un désastre complet si des pirates se connectaient en tant que root sur votre serveur.

Si par hasard vous avez désactivé le compte root dans votre installation Debian 10, vous pouvez toujours configurer votre serveur SSH pour refuser la connexion root, au cas où vous choisiriez de réactiver votre connexion root un jour.

Pour désactiver la connexion root sur votre serveur SSH, modifiez la ligne suivante

#PermitRootLogin

PermitRootLogin no

Configuration de l'authentification SSH basée sur une clé

En SSH, il existe deux façons de se connecter à votre hôte :en utilisant l'authentification par mot de passe (ce que nous faisons ici), ou en ayant un ensemble de clés SSH.

Si vous êtes curieux de connaître l'authentification SSH basée sur une clé sur Debian 10, un tutoriel est disponible sur le sujet ici.

Redémarrage de votre serveur SSH pour appliquer les modifications

Pour que les modifications soient appliquées, redémarrez votre service SSH et assurez-vous qu'il est correctement redémarré

$ sudo systemctl restart sshd
$ sudo systemctl status sshd

De plus, si vous modifiez le port par défaut, assurez-vous que les modifications ont été correctement appliquées en exécutant une simple commande netstat

$ netstat -tulpn | grep 2222

Connexion à votre serveur SSH

Pour vous connecter à votre serveur SSH, vous allez utiliser la commande ssh avec la syntaxe suivante

$ ssh -p <port> <username>@<ip_address>

Si vous vous connectez via un réseau LAN, assurez-vous d'obtenir l'adresse IP locale de votre machine avec la commande suivante

$ sudo ifconfig

Par exemple, pour me connecter à ma propre instance située à 127.0.0.1, j'exécuterais la commande suivante

$ ssh -p 2222 <user>@127.0.0.1

Il vous sera demandé de fournir votre mot de passe et de certifier que l'authenticité du serveur est correcte.

Quitter votre serveur SSH

Pour quitter votre serveur SSH sur Debian 10, vous pouvez appuyer sur Ctrl + D ou taper "déconnexion" et votre connexion sera interrompue.

Désactiver votre serveur SSH

Afin de désactiver votre serveur SSH sur Debian 10, exécutez la commande suivante

$ sudo systemctl stop sshd
$ sudo systemctl status sshd

À partir de là, votre serveur SSH ne sera plus accessible.

Dépannage

Dans certains cas, vous pouvez rencontrer de nombreux messages d'erreur lorsque vous essayez de configurer un serveur SSH sur Debian 10.

Voici la liste des erreurs courantes que vous pourriez rencontrer lors de la configuration.

Debian :Connexion SSH refusée

Généralement, vous obtenez cette erreur car votre pare-feu n'est pas correctement configuré sur Debian.

Pour résoudre "Connexion SSH refusée", vous devez vérifier les paramètres de votre pare-feu UFW.

Par défaut, Debian utilise UFW comme pare-feu par défaut, vous pouvez donc vérifier vos règles de pare-feu et voir si SSH est correctement autorisé.

$ sudo ufw status

Status: active
 
To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere

Si vous utilisez iptables, vous pouvez également vérifier vos règles IP actuelles avec la commande iptables.

$ sudo iptables -L -n

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh

Si la règle n'est pas définie pour SSH, vous pouvez la définir en exécutant à nouveau la commande iptables.

$ sudo iptables -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT

Debian :accès SSH refusé

Parfois, l'accès à votre serveur SSH peut vous être refusé avec ce message d'erreur "Accès SSH refusé" sur Debian.

Pour résoudre ce problème, cela dépend de la méthode d'authentification que vous utilisez.

Accès par mot de passe SSH refusé

Si vous utilisez la méthode du mot de passe, vérifiez votre mot de passe et assurez-vous que vous l'entrez correctement.

De plus, il est possible de configurer les serveurs SSH pour n'autoriser qu'un sous-ensemble spécifique d'utilisateurs :si tel est le cas, assurez-vous d'appartenir à cette liste.

Enfin, si vous souhaitez vous connecter en tant que root, assurez-vous d'avoir modifié l'option "PermitRootLogin" dans votre fichier "sshd_config".

#PermitRootLogin

PermitRootLogin yes

Accès à la clé SSH refusé

Si vous utilisez des clés SSH pour votre authentification SSH, vous devrez peut-être vérifier que la clé est correctement située dans le fichier "authorized_keys".

Si vous ne savez pas comment procéder, suivez notre guide sur l'authentification par clé SSH sur Debian 10.

Debian :Impossible de localiser le paquet openssh-server

Pour celui-ci, vous devez vous assurer que vous avez correctement paramétré vos dépôts APT.

Ajoutez l'entrée suivante à votre fichier sources.list et mettez à jour vos packages.

$ sudo nano /etc/apt/sources.list

deb http://ftp.us.debian.org/debian wheezy main

$ sudo apt-get update

Conclusion

Dans ce tutoriel, vous avez appris comment installer et configurer un serveur SSH sur des hôtes Debian 10.

Vous avez également découvert les options de configuration de base qui doivent être appliquées pour exécuter un serveur SSH sécurisé et robuste sur un LAN ou sur Internet.

Si vous êtes curieux d'en savoir plus sur l'administration système Linux, nous avons une tonne de tutoriels sur le sujet dans une catégorie dédiée.


Debian
  1. Comment installer et configurer OpenVPN Server sur Debian 10

  2. Comment installer MySQL 8.0 / 5.7 sur Debian 11 / Debian 10

  3. Comment installer et configurer le serveur VNC sur Debian 10

  4. Comment installer et configurer Squid Proxy sur Debian 11

  5. Comment installer ProFTPD sur Debian 8

Comment installer le serveur et l'agent Puppet sur Debian 11

Comment installer Todoman sur le serveur Debian 11

Comment installer et configurer le serveur Web Apache sur Debian 11

Comment installer FastPanel sur Debian 11

Comment installer I2P sur le serveur Debian :

Comment activer SSH sur Debian 10 Buster