SSH est un protocole réseau qui offre une connexion sécurisée entre un client et un serveur. Toute la communication est chiffrée, empêchant ainsi le vol de données transmises sur le réseau et d'autres attaques à distance.
Disons que vous avez commandé un serveur cloud chez Hostman. Vous aurez besoin que SSH soit installé et configuré pour vous y connecter et l’administrer.
Le guide ci-dessous décrit comment installer et configurer SSH sur Ubuntu 22.04.
Avant de procéder à l’installation et à la configuration du service Secure Shell, assurez-vous que les conditions suivantes sont remplies :
Compétences en ligne de commande Linux
Une bonne maîtrise des commandes de base comme sudo
, apt
, nano
et systemctl est essentielle pour configurer le service. Ces commandes seront fréquemment utilisées durant l’installation et la configuration. Il est crucial d’être à l’aise dans un environnement en ligne de commande pour gérer efficacement le service.
Accès root ou sudo pour l’installation
Des privilèges administratifs (root
) sont requis pour installer et configurer le serveur. Les utilisateurs doivent avoir un accès sudo
ou être connectés en tant que root
. Sans ces droits, la procédure ne peut pas être poursuivie.
Connexion Internet pour télécharger les paquets
Une connexion Internet stable est nécessaire pour installer le serveur OpenSSH et tout paquet associé. Sans connexion fonctionnelle, le système ne peut pas récupérer les composants nécessaires.
Si un pare-feu comme ufw est activé sur le système, il peut bloquer les connexions distantes par défaut. Il est essentiel de le configurer pour permettre les connexions entrantes. Utilisez ufw ou un autre outil pour vous assurer que le port 22 est ouvert.
Vous devez avoir un accès physique à votre machine pour configurer le service localement ou qu’elle soit accessible à distance via son adresse IP. Vérifiez que le système est correctement connecté au réseau pour établir une connexion.
N'oubliez pas que vous pouvez déployer votre serveur cloud rapidement et à moindre coût avec notre offre d'hébergement VPS.
La première chose à faire avant d’installer SSH est de mettre à jour tous les paquets apt
à la dernière version. Pour cela, utilisez la commande :
sudo apt update && sudo apt upgrade
OpenSSH n’est pas installé par défaut, donc nous allons l’installer manuellement. Pour cela, tapez dans le terminal :
sudo apt install openssh-server
L’installation des composants nécessaires va démarrer. Répondez "Oui" à toutes les demandes du système.
Une fois l’installation terminée, passez à l’étape suivante pour démarrer le service.
Vous devez maintenant activer le service installé en tapant :
sudo systemctl enable --now ssh
En cas de succès, vous verrez un message de confirmation du système. L’option --now
permet de démarrer immédiatement le service et de l’activer au démarrage.
Pour vérifier que le service est bien activé et fonctionne :
sudo systemctl status ssh
La sortie doit inclure la ligne Active: active (running)
, ce qui indique que le service fonctionne correctement.
Pour désactiver le service :
sudo systemctl disable ssh
Cela désactive le service et empêche son démarrage automatique.
Avant de vous connecter au serveur via SSH, vérifiez que le pare-feu est bien configuré.
Si UFW est installé, utilisez cette commande :
sudo ufw status
Vous devez y voir que le trafic SSH est autorisé. Sinon, autorisez-le avec :
sudo ufw allow ssh
Une fois toutes les étapes précédentes complétées, vous pouvez vous connecter au serveur via SSH.
Vous aurez besoin de l’adresse IP ou du nom de domaine du serveur, ainsi que du nom d’utilisateur. Dans le terminal, tapez :
ssh utilisateur@IP_adresse
Ou :
ssh utilisateur@domaine
Important : Pour que la connexion fonctionne, SSH doit être installé et configuré à la fois sur le serveur distant et sur l’ordinateur client.
Pour renforcer la sécurité, envisagez de configurer une paire de clés plutôt qu’une simple authentification par mot de passe. Pour générer une clé, utilisez :
ssh-keygen
Après les cinq premières étapes, vous pouvez déjà vous connecter au serveur à distance. Toutefois, vous pouvez renforcer la sécurité de la connexion en modifiant le port par défaut ou en passant à une authentification par clé. Ces modifications nécessitent l’édition du fichier de configuration sshd_config
(situé dans /etc/ssh
).
Avant toute modification, créez une sauvegarde du fichier :
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.initial
En cas d’erreurs, vous pourrez restaurer la version d’origine.
Ensuite, ouvrez le fichier avec l’éditeur nano
:
sudo nano /etc/ssh/sshd_config
Modifiez le port en choisissant un numéro dans la plage dynamique (49152 à 65535), par exemple 49532. Décommentez la ligne correspondante et remplacez la valeur.
Passez ensuite l’authentification par mot de passe en authentification par clé. Décommentez la ligne correspondante et vérifiez que la valeur est "Yes".
Interdisez également la connexion directe en tant que superutilisateur en ajustant la ligne prévue à cet effet.
Autres paramètres à considérer pour améliorer la sécurité :
UseDNS
: vérifie la correspondance entre le nom d’hôte et l’IP. Mettez "Yes" pour activer.PermitEmptyPasswords
: interdit les mots de passe vides si réglé sur "No".
MaxAuthTries
: limite le nombre de tentatives de connexion échouées.
AllowUsers et AllowGroups
: définit les utilisateurs ou groupes autorisés à se connecter.
# AllowUsers User1 User2 User3
# AllowGroups Groupe1 Groupe2 Groupe3
LoginGraceTime
: définit le délai autorisé pour la connexion. Nous vous recommandons de réduire cette valeur d’un facteur quatre.
ClientAliveInterval
: définit le temps d’inactivité avant la déconnexion.
Une fois les modifications effectuées, enregistrez et quittez nano.
Redémarrez SSH pour appliquer les changements :
sudo systemctl restart ssh
Si vous avez modifié le port, utilisez-le pour vous reconnecter :
ssh -p numéro_port utilisateur@IP_adresse
Ou :
ssh -p numéro_port utilisateur@domaine
sudo systemctl status ssh
sudo systemctl restart ssh
sudo ufw allow 22
ping <adresse-ip-du-serveur>
Si vous devez désactiver l’accès distant pour quelque raison que ce soit, suivez ces étapes :
Arrêter le service
Pour arrêter temporairement l’acceptation des connexions :
sudo systemctl stop ssh
Empêcher le démarrage automatique
Pour empêcher le démarrage automatique au redémarrage du système :
sudo systemctl disable ssh
Vérifier que le service est inactif
Vérifiez que le service ne fonctionne plus :
sudo systemctl status ssh
Désinstaller le serveur
Si le service n’est plus nécessaire, supprimez-le ainsi que ses fichiers de configuration associés :
sudo apt remove openssh-server
Cet article vous guide pas à pas dans l’installation et la configuration de SSH sur Ubuntu 22.04, y compris l’édition du fichier de configuration pour renforcer la sécurité. Nous espérons que ce guide vous aidera à mettre en place une connexion distante sécurisée à votre serveur Ubuntu.
Pour en savoir plus sur les clés SSH, cliquez ici.