Vous êtes sur la page 1sur 3

TP N°3

Cryptographie- OpenSSH

OpenSSH

SSH : il s'agit d'un protocole permettant à un client (un utilisateur ou bien même une machine)
d'ouvrir une session interactive sur une machine distante (serveur) afin d'envoyer des
commandes ou des fichiers de manière sécurisée :

• Les données circulantes entre le client et le serveur sont chiffrées, ce qui garantit leur
confidentialité (personne d'autre que le serveur ou le client ne peut lire les informations
transitant sur le réseau). Il n'est donc pas possible d'écouter le réseau à l'aide
d'un analyseur de trames.
• Le client et le serveur s'authentifient mutuellement afin d'assurer que les deux machines
qui communiquent sont bien celles que chacune des parties croit être. Il n'est donc plus
possible pour un pirate d'usurper l'identité du client ou du serveur (spoofing).

L'établissement d'une connexion SSH se fait en plusieurs étapes :

• Dans un premier temps le serveur et le client s'identifient mutuellement afin de mettre


en place un canal sécurisé (couche de transport sécurisée).
• Dans un second temps le client s'authentifie auprès du serveur pour obtenir une session.

La mise en place d'une couche de transport sécurisée débute par une phase de négociation entre
le client et le serveur afin de s'entendre sur les méthodes de chiffrement à utiliser. En effet le
protocole SSH est prévu pour fonctionner avec un grand nombre d'algorithmes de chiffrement,
c'est pourquoi le client et le serveur doivent dans un premier temps échanger les algorithmes
qu'ils supportent.

Ensuite, afin d'établir une connexion sécurisée, le serveur envoie sa clé publique d'hôte (host
key) au client. Le client génère une clé de session de 256 bits qu'il chiffre grâce à la clé publique
du serveur, et envoie au serveur la clé de session chiffrée ainsi que l'algorithme utilisé. Le
serveur déchiffre la clé de session grâce à sa clé privée et envoie un message de confirmation
chiffré à l'aide de la clé de session. A partir de là le reste des communications est chiffré grâce
à un algorithme de chiffrement symétrique en utilisant la clé de session partagée par le client et
le serveur.

Objectif :

- Mise en place d'une couche de transport sécurisée

Outils :
- Machine Linux Ubuntu
- Machine KALI Linux
- OpenSSH

Pr.ELMENDILI
Etapes :
1. Afficher l’@ de la machine Ubuntu (serveur)et la machine Kali (client)
2. Tester la communication entre la machine ‘client’ et la machine qui joue le rôle d’un
serveur.
3. Tapez la commande who dans la machine Ubuntu (serveur)
4. Tapez la commande ssh nommachine@ipserver
La connexion a été refusé entre le serveur kali et le client Ubuntu car peut être un
firewall est activé, ou bien il faut modifier le fichier de configuration ssh.
5. Installez OpenSSH dans le serveur Ubuntu :

6. Répétez la commande 4
7. Vérifier le fichier /root/.ssh de la machine client :

- Un fichier knows_host qu’est créé après avoir établir la communication SSH entre le
client et le serveur.
8. Visualiser le contenu du fichier knows_host, commenter les résultats.
9. Génération des clés RSA
9.1. Sur la machine kali, Tapez ssh pour voir les fichiers de ssh qui existent dans la machine.
9.2. Générer les clés privé et public par la commande suivante :

10. Visualiser les clés crée dans le répertoire /root/.ssh, une clé publique (id_rsa.pub) et une clé
privée (id_rsa)

Pr.ELMENDILI
11. Envoyez la clé publique à la machine serveur :

12. Vérifiez dans la machine Ubuntu l’ajout de la clé : cd .ssh/ ==➔ Authorized_keys
13. Comparer la clé publique de la machine kali avec la clé public de la machine ubuntu,
commenter les résultats.
14. Refaire la commande de la question 13, vous remarquez quoi ?
15. Refaire l’opération dans le sens inverse : Ubuntu(client) & kali(serveur)
16. Générer la clé privé et publique dans la machine Ubuntu.
17. Copier le contenu du fichier id_rsa.pub dans un fichier authorized_keys qui doit être créer par
vous-même dans le répertoire /root/.ssh , relancer la communication et commenter les
résultats.

Pr.ELMENDILI

Vous aimerez peut-être aussi