SSH : Secure Shell
Objectif
Se familiariser avec le protocole SSH (Secure SHell).
Mise en situation
SSH est une application d'Internet qui n'est pas aussi connue que le Web ou le mail.
Mais elle est très utile dans le monde du développement informatique car elle permet de se connecter à un serveur à distance, puis d'exécuter des commandes sur ce serveur. C'est aujourd'hui le mode de contrôle privilégié des informaticiens sur les serveurs qui font fonctionner Internet.
Rappel : Terminal et shell
Le terminal (aussi appelé invite de commande ou console) est le moyen le plus naturel pour interagir avec un ordinateur. Ce programme offre un shell (une interface système) donnant accès aux programmes de l'ordinateur. Il suffit d'un écran et d'un clavier pour utiliser ce shell.
Définition : Le programme SSH (Secure SHell)
Le programme SSH (Secure Shell) permet d'interagir de manière sécurisée avec un ordinateur distant via un shell. C'est le programme de référence pour effectuer des opérations à distance.
Toutes les commandes tapées depuis un clavier d'ordinateur à un emplacement A sont exécutées dans le shell d'un ordinateur à un emplacement B. Les informations qui transitent sur Internet via SSH sont les chaînes de caractères représentant les commandes à exécuter et les chaînes de caractères représentant les résultats de ces exécutions.
Définition : Le protocole SSH
SSH est aussi le nom du protocole de communication utilisé par le programme SSH. Ce protocole fonctionne sur une architecture client-serveur ; l'ordinateur qui fournit les commandes est le client et l'ordinateur qui exécute les commandes sur son système est le serveur.
SSH repose généralement sur TCP pour le transport et est par défaut associé au port 22.
L'établissement d'une connexion SSH se fait en deux étapes :
l'établissement d'une communication sécurisée,
l'authentification du client.
Méthode : Établir une connexion SSH
On utilise la commande ssh
depuis un terminal :
ssh alice@adresse.ip
La machine se trouvant à l'adresse adresse.ip
doit avoir un utilisateur alice
.
Sur Windows, Putty est un client SSH qui permet d'ouvrir une console sous SSH. Il est téléchargeable sur le site dédié : https://www.putty.org/
Attention :
Si ssh
se connecte pour la première fois au serveur, l'utilisateur devra accepter d'utiliser la clé publique du serveur pour des raisons de sécurité.
Remarque :
Si un serveur est associé à un nom de domaine, on peut utiliser ce domaine à la place de l'IP.
ssh alice@serveur.exemple.com
À retenir
Le protocole SSH permet à un client d'ouvrir un shell sur un serveur distant.
Ce protocole sécurise les communications en employant plusieurs méthodes de chiffrement, de l'authentification au transfert de données.