Secure Shell, parfois appelé Secure Socket Shell, est un protocole applicatif qui vous permet de vous connecter en toute sécurité à un ordinateur ou à un serveur distant en utilisant une interface textuelle.
Lorsqu'une connexion SSH sécurisée est établie, une session shell sera lancée et vous pourrez manipuler le serveur en tapant des commandes dans le client sur votre ordinateur local.
Exemple du TP : ssh userxx@10.34.161.21
Les administrateurs système et réseau sont ceux qui utilisent le plus ce protocole, ainsi que tous ceux qui ont besoin de gérer un ordinateur à distance de manière hautement sécurisée.
Ca sera votre cas dans le TP raspberry et dans les projets.
C’était de même votre cas dans le TP linux et le TP python.
Exemple de prise de contrôle type CLI (Command Line Interface) c.à.d. via une console Bash, d’un Raspberry Pi en filaire et en réseau (filaire ou sans fils), pour suppléer à la connexion directe via écran HDMI et clavier USB.
| ![]() |
RS-232 (parfois appelée EIA RS-232, EIA 232 ou TIA 232) est une norme standardisant une voie de communication de type série. Elle était disponible sur presque tous les PC depuis 1981 jusqu’au milieu des années 2000. (voir https://fr.wikipedia.org/wiki/RS-232) Elle servait essentiellement à relier un périphérique (par exemple une imprimante) à un ordinateur. Le connecteur physique RS232 est de type DB9 (voir DB25 pour les plus vieux) mâle ou femelle suivant l’équipement. | ![]() |
La liaison RS232 via l’USB sur un PC :
Maintenant l’interface RS-232 n’est que rarement intégrée dans le PC mais peut être ajoutée sur le bus USB :
Pour utiliser ce type de câble, un driver spécifique doit être utilisé. | ![]() |
La connexion RS232 sur un Raspberry Pi : exemple pour un Raspberry Pi 3. Le GPIO (General Purpose Input Output) intègre deux pins RX et TX (8 et 10 respectivement) qui sont utilisés pour la communication RS232 (en 3.3 volts) La connexion RS232 sur un Raspberry Pi : exemple pour un Raspberry Pi 3. Attention !! L'interface RS232 fonctionne, d’après la norme, en +/- 12 volts. Il est donc nécessaire de brancher un converstisseur de tension RS232 comme sur la photo ci-dessous. | ![]() |
Remarque : Il existe également un câble, USB/RS-232 dédié aux Raspberry PI, qui dote l'ordinateur d’une interface RS232 dont les niveaux électriques sont compatibles avec ceux du GPIO du Raspberry PI. Le fil noir correspondant à la masse doit être sur la patte n°6 du GPIO (ou éventuellement sur l'une des autres pattes de masse : la n°9, la n°14, la n°20, la n°25, la n°30, la n°34 ou bien la n°39). Le fil jaune est, pour le signal TxD, à brancher sur la patte n°8 du GPIO. Le fil orange est, pour le signal RxD à brancher sur la patte n°10 du GPIO. |
|
Les couches de 3 à 6 n’existent pas car les fonctionnalités qu’elles rendent ne font pas partie des besoins. | ![]() |
Afin d’établir la communication côté PC, il faut utiliser une application comme PuTTY (sur la figure ci-contre). On choisit le mode de communication "Serial" et on indique le nom de l'interface de communication que windows a affecté à l'interface RS232 connectée via le port USB (cela change d'un PC à un autre). Sur MAC ou Linux, il faut utiliser dans le SHELL Bash (Terminal) la commande suivante : screen Exemple : screen /dev/cu.usbserial 9600 "9600" correspond à la vitesse de fonctionnement du périphèrique avec lequel on souhaite communiquer. Cette vitesse peut varier suivant la façon dont le raspberry PI aura été configuré. | ![]() |
On souhaite cette fois pouvoir accéder au CLI d’un équipement sans disposer d’une RS232 directe entre ce dernier et l’ordinateur d’administration mais en utilisant l’infrastructure réseau qui les relie. La communication se fait dans un univers contenant des points en plus des deux utilisés par l’applicatif. On utilise potentiellement tous les types de support de communication disponibles sur l’internet. Telnet et SSH sont deux protocoles applicatifs qui permettent l’émulation d’un canal bidirectionnel type RS232 entre 2 équipements (donc l’échange de données). Ils diffèrent entre eux sur plusieurs aspects liés à la sécurité. | ![]() |
Via l'utilisation de TELNET Les couches de 5 et 6 n’existent pas car les fonctionnalités qu’elles rendent ne font pas partie des besoins. | ![]() |
Afin d’établir la communication côté PC, il faut utiliser une application comme PuTTY sous windows. On choisit le mode de communication "Telnet" et on indique le nom (ou l'adresse IP) de l'équipement avec lequel on souhaite communiquer. Sous MAC ou Linux il faut utiliser dans le SHELL Bash (Terminal) la commande suivante : telnet Exemple : telnet 10.34.161.21 10.34.161.21 correspond ici à l'adresse IP privée (accessible uniquement depuis le réseau Junia) du serveur Debian utilisé en TP. | ![]() |
Via l'utilisation de SSH Afin d’établir la communication côté PC, il faut utiliser une application comme PuTTY sous windows. On choisit le mode de communication "SSH" et on indique le nom (ou l'adresse IP) de l'équipement avec lequel on souhaite communiquer. Sous MAC ou Linux il faut utiliser dans le SHELL Bash (Terminal) la commande suivante : ssh Exemple : ssh userxx@10.34.161.21 userxx correspond au login qui sera utilisé sur le serveur d'adresse IP 10.34.161.21 | ![]() |
Pour faire du transfert de fichiers entre un client et un serveur SSH, il faut utiliser la commande scp sur MAC ou Linux (et sur une version récente de windows 10) de la manière suivante :
scp <source> <destination>
Exemple : depuis son ordinateur pour télécharger l’exercice ex1.py du serveur 10.34.161.21 du user01 dans le répertoire personnel vers le repertoire courant :
scp user01@10.34.161.21:/home/user01/ex1.py .
Exemple : depuis son ordinateur pour déposer sur le serveur 10.34.161.21 dans le repertoire personnel de l’utilisateur user01 l’exercice ex1.py à partir de notre répertoire courant :
scp ex1.py user01@10.34.161.21:/home/user01
Sur Windows (cas général) : Pour faire du transfert de fichiers entre un client et un serveur SSH il faut installer le programme WINSCP sur le client (son ordinateur)