SSH est à la fois un protocole de connectivité réseau et un utilitaire de connexion à un système distant, utilisant un modèle client / serveur. OpenSSH correspond au nom de la suite logicielle incluant les modules serveur & client. Le module client fait souvent partie de l’installation de base des distributions Linux.
Il crypte le trafic entre le client et le serveur, permettant ainsi d’établir une connexion sécurisée.
Il est devenu un standard pour les connexions distantes et a été adopté par tous les systèmes Linux et Unix. Il représente un des outils essentiels pour un administrateur système.
Il permet ainsi d’ouvrir une session sur un système distant par le biais d’un terminal, en vue de l’administrer.
Syntaxe
La commande de base utilisée pour se connecter est :
$ ssh nom_utilisateur@nom_systeme_distant
- nom_utilisateur : correspond à un utilisateur autorisé à ouvrir une session ssh sur le système distant
- nom_systeme_distant : correspond au nom d’hôte qualifié du système auquel se connecter, à défaut son adresse ip
La commande ci-dessus permet de se connecter lorsque le système distant utilise le port ssh standard 22. S’il utilise un port différent, il faut le préciser :
$ ssh -p numero_port nom_utilisateur@nom_systeme_distant
- numero_port : correspond au numéro de port utilisé par le système distant
Authentification par clé
L’authentification par clé fonctionne en créant une paire de clés : une clé privée et une clé publique.
La clé privée est stockée sur le client ; elle est sécurisée et doit être gardée secrète.
La clé publique est stockée sur le système distant.
Lorsqu’une connexion est établie avec une paire de clés, le système distant utilise la clé publique pour créer un message à destination du client, qui ne peut être lu qu’avec la clé privée.
Le client envoie alors la réponse au serveur qui pourra alors déterminer que le client est légitime (ou pas).
Options de connexion
Certaines options peuvent être précisées lors de la connexion SSH à un système distant, dont certaines peuvent être nécessaires.
Il peut ainsi arriver que la connexion au système distant est refusée, lorsque de nombreuses clés sont présentes sur le client ; la commande pour se connecter sera alors :
$ ssh -o PubkeyAuthentication=no nom_utilisateur@nom_systeme_distant
- -o PubkeyAuthentication=no : on indique explicitement au système distant que l’on ne souhaite pas se connecter avec une clé
Connexion à un système distant depuis un client Linux
- Les étapes 3 & 4 sont rencontrées uniquement lors de la première connexion
Connexion à un système distant depuis Windows 10
- S’assurer que le client OpenSSH est installé et activé : Paramètres > Applications et fonctionnalités > Fonctionnalités facultatives : rechercher OpenSSH
- « Client OpenSSH » doit apparaître ; si tel n’est pas le cas –> Ajouter une fonctionnalité
- Lancer PowerShell ou une invite de commandes, la procédure est ensuite identique à celle décrite ci-dessus.
PS > ssh nom_utilisateur@nom_systeme_distant
Site officiel (en anglais ) :
https://www.openssh.com/
OpenSSH sur Wikipédia :
https://fr.wikipedia.org/wiki/Secure_Shell