SSH : comprendre et sécuriser ses connexions
Auteur : Rédaction Domeny.ForSale Publié le
En bref : SSH (Secure Shell) est un protocole, c’est-à-dire un ensemble de règles de communication, qui permet de se connecter en toute sécurité à un autre ordinateur par le réseau et d’y exécuter des commandes. Il chiffre les données transmises, ce qui permet d’administrer un serveur à distance, y compris par internet. Pour vous connecter, vous avez besoin d’un logiciel compatible avec SSH, de l’adresse du serveur, d’un compte utilisateur et d’un mot de passe ou d’une clé correctement configurée.
À quoi sert SSH ?
SSH sert le plus souvent à travailler sur un ordinateur distant à l’aide d’un terminal, une interface textuelle. Une fois connecté, les commandes que vous saisissez s’exécutent sur le serveur, et non sur votre ordinateur portable. Vous pouvez ainsi consulter les journaux d’erreurs, mettre à jour les logiciels et modifier la configuration des services, dans la limite des droits de votre compte.
Par exemple, le site hébergé sur votre VPS, un serveur privé virtuel, cesse de fonctionner. Avec SSH, vous pouvez vérifier si l’espace disque manque, lire les messages d’erreur et redémarrer un service si vous disposez des droits nécessaires. Vous n’avez pas besoin d’accéder au bureau graphique du serveur.
SSH a aussi d’autres usages :
- Transfert de fichiers par SFTP — ce protocole de transfert de fichiers utilise une connexion SSH. SFTP est distinct de FTP et de FTPS.
- Travail avec des dépôts Git — une clé SSH peut servir à vérifier vos droits lorsque vous récupérez ou envoyez des modifications du code.
- Création de tunnels — le trafic d’une application donnée passe par un canal chiffré, par exemple pour accéder à une base de données qui n’est pas directement accessible depuis internet.
Comment fonctionne une connexion SSH chiffrée ?
D’un côté, le client SSH est le programme qui établit la connexion. De l’autre, le serveur SSH est le service qui accepte les connexions. OpenSSH est une implémentation courante de ces deux composants. Par défaut, le service écoute sur le port TCP 22 ; un port est un numéro qui désigne un service sur un appareil donné.
Lors de l’établissement de la connexion, le client et le serveur conviennent des mécanismes de sécurité et créent un canal chiffré. La clé d’hôte, qui identifie le serveur, permet au client de vérifier avec quelle machine il communique. Le serveur vérifie ensuite l’identité de l’utilisateur, par exemple à l’aide d’un mot de passe ou d’une clé utilisateur.
Le chiffrement protège le contenu des commandes, leurs résultats et les données transférées contre l’interception pendant la transmission. Il ne protège toutefois pas contre toutes les menaces : un ordinateur portable infecté peut intercepter les données avant leur chiffrement, et un serveur compromis peut les divulguer après leur déchiffrement. SSH ne masque pas non plus le fait que les appareils communiquent entre eux.
Comment se connecter à un serveur par SSH ?
Vérifiez d’abord, dans le panneau de gestion ou la documentation de votre hébergeur, si votre offre comprend l’accès SSH. Un hébergement mutualisé peut limiter cette fonctionnalité ou les commandes disponibles. Confirmez l’adresse de l’hôte, le nom d’utilisateur, le port et la méthode de connexion autorisée : ne tentez pas de déduire ces informations de l’adresse du site.
Sur Linux et macOS, le client SSH est généralement disponible dans le terminal. Sur Windows, vous pouvez utiliser le client OpenSSH s’il est installé, par exemple depuis PowerShell. La commande de base est la suivante :
ssh jean (at) serwer.example
Remplacez jean par le nom de votre compte et serveur.example par l’adresse réelle du serveur ou son adresse IP. Si l’hébergeur indique un autre port, par exemple 2222, utilisez :
ssh -p 2222 jean (at) serwer.example
Lors de la première connexion, le programme affiche généralement l’empreinte de la clé d’hôte, une valeur condensée qui permet de reconnaître la clé du serveur. Comparez-la aux informations obtenues auprès d’une source fiable, par exemple le panneau de gestion de l’hébergeur ou l’administrateur, contacté par un canal indépendant. Ne l’acceptez pas automatiquement au seul motif que le programme vous demande votre accord.
Lors d’une connexion par mot de passe, le terminal n’affiche généralement ni les caractères saisis ni des astérisques : c’est normal. Une fois connecté, vous pouvez exécuter whoami pour vérifier le nom de l’utilisateur courant et pwd pour afficher le répertoire courant. La commande exit met fin à la session.
Mot de passe ou clé SSH : que choisir ?
La connexion par mot de passe est simple, mais un service exposé sur internet peut faire l’objet de tentatives automatisées pour deviner les mots de passe. Pour une administration régulière, une clé SSH est un bon choix. Elle ne dispense toutefois pas de protéger l’ordinateur sur lequel vous la conservez.
Une paire de clés SSH comprend deux éléments liés : vous placez la clé publique sur le serveur, tandis que la clé privée reste sur votre appareil. Lors de la connexion, le client prouve qu’il possède la clé privée sans l’envoyer au serveur. Ne confondez pas cette paire avec la clé d’hôte, qui identifie le serveur lui-même.
Avec OpenSSH, vous pouvez générer une paire de clés à l’aide de la commande :
ssh-keygen -t ed25519
Définissez un mot de passe pour protéger la clé privée et n’écrasez pas une clé existante sans vérifier à quoi elle sert. Le fichier dont le nom se termine par .pub contient la clé publique ; ajoutez-la en suivant les instructions de l’hébergeur. N’envoyez pas le fichier de la clé privée à l’administrateur ni au support technique.
Comment éviter les erreurs et la perte d’accès ?
Un avertissement signalant un changement de clé d’hôte peut résulter d’une réinstallation du serveur, mais il peut aussi indiquer une connexion à une autre machine ou une tentative d’interception des communications. Confirmez d’abord la cause auprès de l’administrateur. Supprimer la clé enregistrée uniquement pour faire disparaître le message revient à contourner un contrôle de sécurité important.
Au quotidien, utilisez un compte aux droits limités plutôt que le compte root, qui dispose d’un contrôle total sur le système. Mettez à jour les logiciels SSH et n’exécutez pas de commandes inconnues sans en comprendre les effets. Un simple changement de port ne remplace pas une authentification adéquate.
Si vous souhaitez désactiver la connexion par mot de passe, vérifiez d’abord que la connexion par clé fonctionne dans une deuxième session, en laissant la première ouverte. Avant de modifier la configuration, renseignez-vous également sur l’accès à la console de secours de l’hébergeur : une erreur ne vous privera ainsi pas de tout accès au serveur.
Voir aussi : Qu’est-ce qu’un CDN ?
