GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer SSH sur CentOS et RHEL

SSH (Secure Shell) est un protocole réseau sécurisé basé sur l'architecture client-serveur qui vous permet d'accéder en toute sécurité à des ordinateurs/serveurs distants sur le réseau.

SSH est largement utilisé par les administrateurs système pour se connecter à des serveurs distants. Cela permet aux administrateurs de gérer facilement les serveurs et les applications à distance et en toute sécurité, de n'importe où et à tout moment.

Dans ce guide, je vais vous montrer comment configurer et activer SSH sur les systèmes CentOS/RHEL. Avec le SSH activé sur ce système CentOS, vous devriez pouvoir accéder à ce système à partir d'autres ordinateurs en utilisant son adresse IP.

Ce didacticiel comprend également les étapes pour modifier le port SSH par défaut, désactiver la connexion SSH pour l'utilisateur root et configurer firewalld pour sécuriser votre serveur SSH.

Pour suivre ce guide, assurez-vous que vous disposez des conditions suivantes :

  • Un système Linux CentOS/RHEL. Vous pouvez l'installer sur votre machine physique/matériel réel, ou en utilisant la machine virtuelle via KVM/VirtualBox, ou en utilisant des fournisseurs de cloud tiers comme Linode (mais ils ont généralement déjà activé SSH).
  • Un utilisateur non root avec des privilèges sudo/root. Cet utilisateur sera utilisé pour modifier votre système. Et à la fin, cet utilisateur peut être utilisé pour se connecter à votre serveur.

Installation des packages OpenSSH

OpenSSH est l'une des implémentations logicielles les plus populaires du protocole SSH. Il est utilisé par des millions de serveurs Linux et devient un élément essentiel de l'environnement du serveur. Par défaut, OpenSSH est disponible sur la plupart des référentiels de distribution Linux, y compris les systèmes CentOS et RHEL.

Avant de commencer, actualisez votre index de package à l'aide du gestionnaire de packages DNF comme ci-dessous.

sudo dnf check-update

Ensuite, installez les packages OpenSSH sur les systèmes CentOS/RHEL à l'aide de la commande suivante. Cette commande installera les packages de serveur OpenSSH, ainsi que le logiciel client OpenSSH.

sudo dnf install openssh-server openssh-clients -y

Une fois l'installation d'OpenSSH terminée, exécutez la commande suivante pour démarrer sshd service et activez-le pour qu'il démarre automatiquement au démarrage du système.

sudo systemctl enable --now sshd

Maintenant, vérifiez le sshd état du service en exécutant la commande suivante.

sudo systemctl status sshd

Vous recevrez une sortie comme la capture d'écran suivante. Le sshd le service est active (running) .

Configuration du serveur SSH

Par défaut, la configuration SSH est disponible dans le /etc/ssh répertoire, et le fichier de configuration principal est sshd_config . Ce fichier contient une configuration SSH de base, telle que ListenAddress qui détermine l'adresse IP du service SSH en cours d'exécution, Port pour configurer le port de service SSH, les méthodes d'authentification et bien d'autres.

Dans cette section, vous allez modifier la configuration sshd_config , puis modifiez le port SSH par défaut et désactivez la connexion pour l'utilisateur racine.

Ce paramètre est recommandé pour des raisons de sécurité, il s'agit d'augmenter la sécurité du serveur et de réduire les attaques par force brute contre votre serveur.

Maintenant, ouvrez le fichier sshd_config en utilisant vi éditeur ou votre éditeur préféré.

sudo vi /etc/ssh/sshd_config

Avant de commencer à éditer le fichier, vous devez savoir que les lignes commençant par # et les lignes vides sont interprétées comme des commentaires.

En haut de la ligne, changez le port SSH par défaut de 22 vers votre port préféré. Ce tutoriel utilise le port non standard 2028 pour SSH.

Port 2028
⚠️Veuillez vous assurer que vous avez un utilisateur non root avec un accès sudo déjà activé sur ce système. Sinon, si vous désactivez la connexion root, vous ne pourrez peut-être pas vous connecter à distance à votre serveur.

Ensuite, modifiez l'option de PermitRootLogin yes à PermitRootLogin no . Cela désactivera la connexion SSH pour l'utilisateur root utilisateur. Facultativement, vous pouvez ajouter # au début de la ligne PermitRootLogin .

PermitRootLogin no

Enregistrez et fermez le fichier.

Après avoir apporté des modifications, vérifiez la configuration SSH, puis redémarrez le sshd services.

sshd -t
sudo systemctl restart sshd

Maintenant, vous pouvez vous connecter à votre serveur SSH en exécutant le ssh commande ci-dessous.

ssh [email protected] -p PORT

Le -p L'option est utilisée pour spécifier le port de votre serveur SSH.

Dans cette section, vous avez terminé la configuration de base pour sécuriser le serveur SSH en modifiant le port SSH par défaut et en désactivant la connexion pour la root utilisateur. De plus, vous avez appris à vous connecter au serveur SSH avec un port non standard. Ensuite, vous allez installer et configurer firewalld.

Installation et configuration de Firewalld

Si vous utilisez le serveur CentOS/RHEL sur l'Internet public, tel qu'un serveur cloud, vous devrez peut-être activer le pare-feu. Cela augmentera la sécurité de votre serveur en limitant l'accès uniquement à des services spécifiques tels que SSH, HTTP et HTTPS. Sur la distribution basée sur CentOS/RHEL, firewalld est le package de pare-feu par défaut que vous pouvez installer sur votre système.

Dans cette section, vous allez installer firewalld et configurer ses ports ouverts pour votre serveur SSH.

Pour installer firewalld, exécutez le dnf commande ci-dessous.

sudo dnf install firewalld -y

Une fois l'installation de firewalld terminée, démarrez et activez le firewalld un service. Vérifiez ensuite son état en exécutant la commande suivante.

sudo systemctl enable --now firewalld
sudo systemctl status firewalld

Vous recevrez une sortie similaire comme la capture d'écran ci-dessous. Le firewalld le service est active (running) .

Pour interagir avec firewalld, vous pouvez utiliser la commande firewall-cmd . Il s'agit de l'interface de ligne de commande pour la gestion des règles de pare-feu. Vous pouvez utiliser firewall-cmd pour ajouter, supprimer et modifier des règles de pare-feu. Et il y a beaucoup plus que vous pouvez faire en utilisant le firewall-cmd .

Maintenant, pour ajouter le port SSH personnalisé à votre système, exécutez le firewall-cmd commande ci-dessous.

sudo firewall-cmd --add-port=2028/tcp --permanent

Vous recevrez la sortie success , ce qui signifie que l'opération est réussie et terminée.

Cet exemple utilise le port 2028 comme port SSH personnalisé. et le service SSH s'exécute sur le port TCP, vous devez donc spécifier le port et le protocole tels que 2028/tcp . L'option --permanent rend cette règle permanente.

Ensuite, rechargez les règles du pare-feu pour appliquer une nouvelle configuration à l'aide de la commande suivante.

sudo firewall-cmd --reload

Vous avez ajouté le port personnalisé SSH au firewalld. Exécutez la commande ci-dessous pour répertorier toutes les règles activées.

sudo firewall-cmd --list-all

Vous verrez maintenant une liste des règles activées dans firewalld. Les services SSH, Cockpit et DHCP sont activés par défaut.

Pour supprimer la règle SSH par défaut, exécutez le firewall-cmd commande ci-dessous. Ensuite, rechargez à nouveau les règles du pare-feu.

sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --reload

Vous avez maintenant terminé l'installation et la configuration de firewalld pour sécuriser votre serveur SSH.

Conclusion

Dans ce guide, vous avez terminé l'installation et la configuration de SSH sur le système CentOS/RHEL. Vous avez sécurisé votre serveur SSH en modifiant le port par défaut et en désactivant la connexion pour la root utilisateur. De plus, vous avez terminé l'installation et la configuration du pare-feu sur le système CentOS/RHEL pour sécuriser le serveur SSH.

Faites-nous savoir si vous avez des questions.


Linux
  1. Configurer le serveur DHCP sur CentOS 8 - Comment faire ?

  2. Comment configurer VSFTPD sur CentOS 8

  3. Comment créer une bannière SSH dans le serveur CentOS/RHEL

  4. CentOS / RHEL :Comment configurer un serveur DHCP

  5. CentOS / RHEL :Comment configurer la prison chroot SFTP

Comment configurer un serveur OpenVPN sur CentOS 7

Comment installer le serveur Redis sur CentOS 8 / RHEL 8

Comment configurer le serveur NFS sur CentOS 8 / RHEL 8

Comment configurer le serveur DHCP sur CentOS 8

Comment configurer un serveur TeamSpeak sur CentOS 7

Comment configurer un serveur Minecraft sur CentOS 7