Comment installer et paramétrer un serveur SSH sur Linux
Linux

Comment installer et paramétrer un serveur SSH sur Linux

Par Hugues , le 5 juin 2024 , mis à jour le 5 juin 2024 - 4 minutes de lecture

Bien sûr ! Voici une introduction courte et engageante sur le sujet :
Vous êtes passionné de sécurité informatique et souhaitez apprendre à installer et paramétrer un serveur SSH sur Linux ? Vous êtes au bon endroit ! Découvrez dans cet article toutes les étapes essentielles pour mettre en place un serveur SSH fiable et sécurisé, afin de protéger efficacement les données de votre système. Suivez le guide pour devenir un expert en la matière !

Qu’est-ce que SSH et OpenSSH ?

Secure Shell (SSH) est à la fois un programme et un protocole de communication sécurisé. SSH permet de se connecter à distance sur une machine et de transférer des fichiers de manière sécurisée si un serveur SSH est installé sur cette machine.

OpenSSH est un ensemble d’outils informatiques open source permettant de réaliser ces communications sécurisées en utilisant le protocole SSH.

Installation du serveur OpenSSH

Setting up OpenSSH server on CentOS and Fedora using dnf command.

Pour installer le serveur SSH sur votre machine Linux, il faut installer le paquet openssh-server. Voici comment procéder pour différentes distributions :

  • Gentoo et Calculate Linux :
    emerge --ask openssh
  • CentOS et Fedora :
    dnf install openssh-server
  • Debian :
    apt install openssh-server

Configurer le service SSH

Lancer le service au démarrage

Pour que le service SSH se lance automatiquement au démarrage, utilisez les commandes suivantes selon votre distribution :

  • Gentoo (OpenRC) / Calculate Linux :
    rc-update add sshd default
    /etc/init.d/sshd start
  • Fedora et CentOS :
    systemctl enable --now sshd.service
  • Debian :
    systemctl enable --now ssh.service

Affiner la configuration de SSH

Désactiver les connexions SSH en root

Il est recommandé de ne pas permettre la connexion en root. Pour cela, éditez le fichier /etc/ssh/sshd_config et modifiez cette ligne :


PermitRootLogin no

Pour autoriser uniquement la connexion par clé pour root, utilisez :


PermitRootLogin prohibit-password

N’oubliez pas de redémarrer le service SSH.

Changer le port de SSH

Pour augmenter la sécurité, il est recommandé de changer le port par défaut de SSH. Par exemple, pour utiliser le port 2222, éditez le fichier /etc/ssh/sshd_config :


Port 2222

N’oubliez pas d’ajouter une exception pour le pare-feu :


firewall-cmd --add-port=2222/tcp --permanent
firewall-cmd --reload

Si vous utilisez SELinux, vous devez également mettre à jour la politique SELinux :


semanage port -a -t ssh_port_t -p tcp 2222

N’oubliez pas de redémarrer SSH pour appliquer les changements.

Autoriser/Interdire des utilisateurs et des groupes

Pour autoriser ou interdire des utilisateurs spécifiques, éditez le fichier sshd_config :


AllowUsers user1 user2 user3
DenyUsers user1 user2 user3

Pour les groupes :


AllowGroups group1 group2
DenyGroups group1 group2

Afficher une bannière

Si le serveur est public, vous pouvez afficher une bannière à la connexion :



###############################################################################
#                                                                             #
#  WARNING: Unauthorized access to this system is forbidden and will be       #
#  prosecuted by law. By accessing this system, you agree that your actions   #
#  may be monitored if unauthorized usage is suspected.                       #
#                                                                             #
###############################################################################


Décommentez la ligne “Banner” dans le fichier /etc/ssh/sshd_config et indiquez le fichier bannière :


Banner /etc/banner

Créez ensuite le fichier /etc/banner avec votre bannière.

Tester sa connexion SSH

Troubleshooting error messages or issues encountered during SSH connection attempts.

En local

Ouvrez une console et tentez de vous connecter avec :


ssh [email protected]

À distance

Depuis un autre PC, connectez-vous en utilisant l’adresse IP de la machine où SSH est installé :


ssh [email protected]

Si vous avez changé le port :


ssh [email protected] -p 2222

Utiliser des clés SSH pour la connexion

Générer la paire de clés

Générez une clé au format RSA avec une taille de 4096 bits :


ssh-keygen -t rsa -b 4096

Vous pouvez également utiliser des types de clés plus récents et performants comme ECDSA ou ED25519 :


ssh-keygen -t ed25519

Configurer le serveur

Copiez la clé publique générée sur le serveur dans le fichier ~/.ssh/authorized_keys :


ssh-copy-id user@serveur

N’oubliez pas de recharger la configuration SSH.

Désactiver les mots de passe pour n’autoriser que les clés

Pour cela, éditez le fichier /etc/ssh/sshd_config et modifiez les valeurs :


PasswordAuthentication no
UsePAM no

Rechargez la configuration de SSH.

Changer la passphrase de la clé privée

Utilisez la commande suivante pour changer la passphrase :


ssh-keygen -p -f ~/.ssh/id_rsa

Créer des alias SSH

Créez le fichier ~/.ssh/config et ajoutez des alias :


Host srv1
  HostName 192.168.10.100
  Port 2222
  User adrien

Dès lors, tapez simplement :


ssh srv1

Tunnels et redirection de ports

Hands typing on a keyboard to set up remote port redirection.

Redirection locale de port

Utilisez l’option -L pour rediriger un port distant vers une destination locale :


ssh machine-distante -L port-local:HOSTNAME:port-distant

Redirection distante de port

Utilisez l’option -R pour rediriger un port local vers une destination distante :


ssh -R port-distant:HOSTNAME:port-local machine-distante

Redirection dynamique de port (Proxy SOCKS)

Utilisez l’option -D pour une redirection dynamique basée sur SOCKS :


ssh -D port serveur-distant

Partager cet article :
Avatar photo

Hugues

Hugues, a 39 ans et il est développeur web indépendant. Passionné de football, de running et de domotique il aime créer des petites applications pour mieux gérer son quotidien.

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.