Rendre le compte rendu sur l’email de la section, au format PDF .
🕒 : 3 h maximum
Prérequis:
- Machine linux , debian ou ici une distribution ubuntu 26.04 ou plus.
- Machine workboot avec le login wbXgYstu/appZ et votre mot de passe.
- cours Clés privée/publique
But:
Cyber Sécurité , au mieux avec ssh, notion de clés
Des dangers ,et savoir bien protéger la clé privée!
Présentation:
On va partir d’une machine ubuntu (ici 26.04) , dans laquelle on va enlever les clés pour refaire avec des explications.
🔐⚠️ AVERTISSEMENT CAPITAL — LA CLÉ PRIVÉE ⚠️🔐
🌟 Mes chers étudiants, lisez attentivement ceci 🌟
🚨 RÈGLE D’OR ABSOLUE 🚨
❌ NE JAMAIS, JAMAIS, JAMAIS divulguer votre clé privée. ❌
Mise en garde à LIRE
💎 Qu’est-ce qu’une clé privée ?
Une clé privée, c’est comme la clé de votre coffre-fort personnel 🗝️, le mot de passe de toute votre vie numérique 🔑, votre signature éternelle ✍️. Elle prouve votre identité, protège vos actifs, et sécurise vos communications. Celui qui la détient détient TOUT. 💀
⚡ Les conséquences d’une fuite ⚡
💸 Perte totale et irréversible de vos fonds (crypto, comptes, actifs)
🎭 Usurpation d’identité — quelqu’un d’autre devient « vous »
🔓 Compromission de tous vos systèmes liés à cette clé
😱 Aucun recours — pas de support, pas de remboursement, pas de retour en arrière
🕳️ Effondrement de votre réputation et de votre crédibilité professionnelle
🛡️ Les bonnes pratiques 🛡️ ✅ Gardez-la hors ligne — papier, coffre, ou hardware wallet 🔒 ✅ Ne la tapez JAMAIS dans un site web, un chat, un email 📵 ✅ Méfiez-vous du phishing 🎣 — personne de légitime ne vous la demandera ✅ Utilisez un gestionnaire de secrets si nécessaire 🧰 ✅ Sauvegardez-la en lieu sûr, mais jamais sur le cloud public ☁️🚫 ✅ En cas de doute : TAISEZ-VOUS 🤐
🎯 Le réflexe à adopter 🎯
« Ma clé privée ne sort JAMAIS de ma tête, de mon coffre, ou de mon hardware wallet. » 🧠🔐
🌈 En résumé 🌈
Une clé privée divulguée = une clé privée perdue. 🪦
Une clé privée perdue = des dégâts irréversibles. 💔
Votre vigilance est votre meilleure défense. 🦾
🧘 Le bon état d’esprit 🧘
🧘 Le bon état d’esprit 🧘
😌 Pas de panique — on est là pour apprendre , lire la mise en garde ci-dessus
- 🧐 Mais de la rigueur — comme en conditions réelles
- 🤝 Confiance dans le cadre, vigilance dans les gestes
- 📚 Posez des questions — mieux vaut demander que fuiter
Préliminaire
on va effacer le répertoire caché, déjà créé par vos soins en ayant utilisé ssh.
rm -rf ~/.ssh
on rappel que .ssh commence par un . ! il faut l’option -a avec ls pour le visualiser (héritage de UNIX) , c’est un répertoire qui appartient à l’utilisateur etudiant ici, et qui est la pour la configuration et l’usage de ssh
etudiant@ordi:~$ ls -la
total 140
drwxr-x--- 19 etudiant etudiant 4096 Oct 23 11:37 .
drwxr-xr-x 5 root root 4096 Aug 29 16:38 ..
-rw------- 1 etudiant etudiant 50 Dec 13 2025 .Xauthority
drwxr-xr-x 5 etudiant etudiant 4096 Aug 10 2025 .arduino15
-rw------- 1 etudiant etudiant 13117 Oct 21 18:42 .bash_history
-rw-r--r-- 1 etudiant etudiant 220 Jul 11 2025 .bash_logout
-rw-r--r-- 1 etudiant etudiant 3817 Aug 10 2025 .bashrc
drwx------ 23 etudiant etudiant 4096 Oct 21 18:31 .cache
drwx------ 25 etudiant etudiant 4096 Oct 21 18:29 .config
-rw-rw-r-- 1 etudiant etudiant 108 Apr 27 15:50 .gitconfig
-rw------- 1 etudiant etudiant 20 Oct 22 12:21 .lesshst
drwx------ 4 etudiant etudiant 4096 Jul 15 2025 .local
-rw-r--r-- 1 etudiant etudiant 807 Jul 11 2025 .profile
drwx------ 2 etudiant etudiant 4096 Oct 23 11:37 .ssh
-rw------- 1 etudiant etudiant 21013 Apr 27 16:02 .viminfo
drwxr-xr-x 3 etudiant etudiant 4096 Aug 29 16:10 Bureau
drwxr-xr-x 2 etudiant etudiant 4096 Jul 11 2025 Documents
drwxr-xr-x 2 etudiant etudiant 4096 Jul 11 2025 Images
drwxr-xr-x 2 etudiant etudiant 4096 Jul 11 2025 Modèles
drwxr-xr-x 2 etudiant etudiant 4096 Jul 11 2025 Musique
drwxr-xr-x 2 etudiant etudiant 4096 Jul 11 2025 Public
drwxrwxr-x 4 etudiant etudiant 4096 Oct 9 2025 Softs
drwxrwxr-x 5 etudiant etudiant 4096 Sep 8 2025 Trash
drwxr-xr-x 2 etudiant etudiant 4096 Oct 9 2025 Téléchargements
drwxr-xr-x 2 etudiant etudiant 4096 Jul 11 2025 Vidéos
drwxrwxr-x 9 etudiant etudiant 4096 Apr 27 15:49 Works
Création d’une paire de clés ed25519 avec un chiffrement sur la clé privée.
on va utiliser l’outil ssh-keygen (générateur de clé pour ssh)
-t : pour type de clé ,ici ed25519
-C: pour commentaire pour reconnaitre nos clés
🧪⚠️ Attention on va avoir besoin d’une passphrase , je vous conseil ici de mettre toujours test123 pour ne pas se prendre les pieds dans les manipulations, En production il faudra bien-sur imaginer d’autres passphrase à ne jamais diffuser .. sauf aux ayants droit.
etudiant@ordi:~$ ssh-keygen -t ed25519 -C "etudiant@ltDorian.com"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/etudiant/.ssh/id_ed25519):
Created directory '/home/etudiant/.ssh'.
Enter passphrase for "/home/etudiant/.ssh/id_ed25519" (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/etudiant/.ssh/id_ed25519
Your public key has been saved in /home/etudiant/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:Lo7+clRof3Ls12T38ftbcuk5LI7CbFRCAKbNsX2Rfno etudiant@ltDorian.com
The key's randomart image is:
+--[ED25519 256]--+
| ..o+o|
| . . +*.*|
| . . *+=B=|
| . oo*+**|
| E. o.o=+o|
| .o o .*.|
| . . ...+|
| . o .o.o|
| o.o .=.|
+----[SHA256]-----+
etudiant@ordi:~$
on découvre un randomart est un outil anti-phishing / anti-MITM pour vérifier que le serveur auquel vous vous connectez est bien celui que vous croyez.
Après cette commande
etudiant@ordi:~$ ls .ssh/ -la
total 16
drwx------ 2 etudiant etudiant 4096 Oct 23 11:37 .
drwxr-x--- 19 etudiant etudiant 4096 Oct 23 11:37 ..
-rw------- 1 etudiant etudiant 464 Oct 23 11:37 id_ed25519
-rw-r--r-- 1 etudiant etudiant 103 Oct 23 11:37 id_ed25519.pub
etudiant@ordi:~$
identifier la clé privée:
donner les droits et expliquer.
identifier la clé publique:
donner les droits et expliquer
Avec la commande file (unix/linux) on va identifier les fichiers.
etudiant@ordi:~$ file .ssh/id_ed25519
.ssh/id_ed25519: OpenSSH private key
etudiant@ordi:~$ file .ssh/id_ed25519.pub
.ssh/id_ed25519.pub: OpenSSH ED25519 public key
etudiant@ordi:~$
ne jamais divulguer id_ed25519 sinon votre clé sera compromise en production ! privé c’est clair
Mais en plus nous avons sécurisé cette clé la chiffrant à l’aide d’une passphrase (ici test123 , pareil en prod ne jamais divulguer c’est un secret !)
Extraire la clé publique avec la passphrase.
etudiant@ordi:~$ ssh-keygen -y -f ~/.ssh/id_ed25519
Enter passphrase for "/home/etudiant/.ssh/id_ed25519":
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKe7k2nEa05bbLK7RaM62kgHOA+JHEwZMXXY1IoU7lmz etudiant@ltDorian.com
etudiant@ordi:~$
Comparer ce qui est obtenu avec le fichier publique ~/.ssh/id_ed25519.pub
utiliser cat pour regarder ce fichier et le comparer , expliquer.
la preuve ! la privée est plus importante que la publique
« la clé privée est le secret irremplaçable ; la clé publique peut toujours être régénérée à partir d’elle. »
etudiant@ordi:~$ rm ~/.ssh/id_ed25519.pub # on perd la clé publique !
etudiant@ordi:~$ ssh-keygen -y -f ~/.ssh/id_ed25519 > ~/.ssh/id_ed25519.pub
Enter passphrase for "/home/etudiant/.ssh/id_ed25519":
etudiant@ordi:~$ cat .ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKe7k2nEa05bbLK7RaM62kgHOA+JHEwZMXXY1IoU7lmz etudiant@ltDorian.com
etudiant@ordi:~$
Expliquer ce que l’on a fait .
Imaginons qu’il n y a pas de passphrase , qu’on ai rien mis en production ,une passpharse vide , que pensez vous de la protection de notre clé privée?
bien noter qu’une bonne passphrase est nécessaire , un mot du dictionnaire sera vite trouvé !
on va analyser avec connexion ssh sur workboot depuis notre ubuntu
Depuis notre poste de travail ubuntu du lycee (ca peut être chez vous pour les plus motivés) mais restons au lycée!
il vous faut disposer de votre compte , c’est impératif, ici pour les démonstrations j’ai profité d’un compte disponible pour expérimentation. (wb2g1app14)
sur votre machine linux on peut avoir plusieurs terminaux en même temps , c’est bien d’en prendre note.
etudiant@ordi:~$ ssh wb2g1app14@workboot.freeboxos.fr -p 74
The authenticity of host '[workboot.freeboxos.fr]:74 ([78.196.32.119]:74)' can't be established.
ED25519 key fingerprint is: SHA256:Lo7+clRof3Ls12T38ftbcuk5LI7CbFRCAKbNsX2Rfno
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[workboot.freeboxos.fr]:74' (ED25519) to the list of known hosts.
wb2g1app14@workboot.freeboxos.fr's password:
Last login: Wed Oct 21 09:06:00 CEST 2026 from 192.168.1.254 on ssh
╔═══════════════════════════════════════════════════════════════╗
║ ║
║ // __ __ _ _ _ ║
║ // \ \ / /__ _ __| | _| |__ ___ ___ | |_ ║
║// \ \ /\ / / _ \| '__| |/ / '_ \ / _ \ / _ \| __| ║
║\\ \ V V / (_) | | | <| |_) | (_) | (_) | |_ ║
║ \\ \_/\_/ \___/|_| |_|\_\_.__/ \___/ \___/ \__| ║
║ \\ ║
║ ║
║ Bienvenue sur le serveur Workboot ║
║ ║
║ Lycée Caroline Dorian ║
║ ║
╚═══════════════════════════════════════════════════════════════╝
Bonjour et bienvenue sur ton espace de travail !
Tu disposes ici d'un espace personnel sur Workboot, accessible
depuis Windows, Linux ou macOS via SSH.
Ton espace est limité à 500 Mo (avertissement) et 600 Mo (blocage).
Pense à nettoyer régulièrement tes fichiers volumineux.
Pour changer ton mot de passe à tout moment : tape simplement
passwd
et suis les instructions.
Last login: Wed Oct 21 09:01:00 2026 from 192.168.1.254
wb2g1app14@ordi:~$
vous êtes connecté chez vous , sur workboot avec ce terminal !
ouvrons un autre terminal (en local) sur votre machine ubuntu
car le fait de vous être connecté sur la machine workboot il c’est passé des choses :
etudiant@ordi:~$ ls .ssh/
id_ed25519 id_ed25519.pub known_hosts known_hosts.old
etudiant@ordi:~$ cat .ssh/known_hosts
|1|Wxwphz6eB1jLZTIkIvq1TVSrKM4=|6S59kgRwJz6POURP4KUzV7CdJUc= ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJdZ4pxLiqCGr8xu1+kBmBvIlfL0dpNJkCzPNJAydR9+
|1|Vz+KZ8sUxBs+KsxiMCOA5ybQviU=|i7ZyEdR2JgC7OTdFUf6FMFXRCWQ= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCxznPGT8aHCFx2EuwlRzASGBa3MnRnMU3fxOMOYp4d7kEdi0HB1LghQlMGoniBX87d+IoMhJeoPTDPAljljsh7fkaUzacA8ekP90gM9JJrR7NDXK5WFUayq8FVyPExJuXD/612Q0ABI1pHVRBU7Cjb26d7CutAvRcG+2+8QbgIWanmzETbu7Uu3pjG3Xyt6XnnEJg01weGhhGrKvsyG3WHrr5LyOKPeB12vDwgV7w1bLASgqZJ5hlDYYjmkDP50jwfVE+3IG50/xRzyi2xN5+GUUC/A6fAV2jYcdmY2GK67qEtGwwqA/q1bc5ZRUCF6j6rZZwWug0fKIHrtZ37Rkf0i8Hw+o2dnaspAAhHGQWa7eig8OZXUFSLyLAkUj4qAuO+iLMC1RSCP1ib7XwmtidlBLZtQT/SmbRSji+A3R0UIdrdvPlXQAUcn4RwIdQNj8nNsRLGOklkEVmZ3Oe7AZolkBoCT1GUwnRps72nsPqCDf3Na3HZuplzxXgIbKNs6Nk=
|1|D6xsma6Q9+2H/Fmc8Ke6zKbEnHE=|eh90KNasBqLirHc6SIKrmEpKjqk= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOauprNLxzy3KL2gVRNSTw+2ddBSpMEl3Bds54eKUFbGo9zMilSkJqTCwh2pRBnMq+8X9LzEE+eg5QgMjoL/rMg=
etudiant@ordi:~$
chez vous ça doit être forcément un peu diffèrent !
expliquer pourquoi 2 fichiers know-hosts soit produit
Lors de la première connexion, SSH affiche :
text
The authenticity of host '[workboot.freeboxos.fr]:74' can't be established.
ED25519 key fingerprint is SHA256:+4/dD02+...
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Ce qui se passe :
Le client n’a aucune clé mémorisée pour ce serveur → il ne peut pas prouver son identité.
Si vous répondez yes, la clé est enregistrée dans ~/.ssh/known_hosts.
par la suite quand on reviendra l’identification se fera plus rapidement.
identification aprés l’utilisation de ssh-copy-id
on reste connecté dans un terminal sur le serveur workboot.
Depuis la machine ubuntu du lycee on va copier la clé publique sur votre espace serveur workboot.
etudiant@ordi:~$ ssh-copy-id -p 74 wb2g1app14@workboot.freeboxos.fr
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/etudiant/.ssh/id_ed25519.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
wb2g1app14@workboot.freeboxos.fr's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh -p 74 'wb2g1app14@workboot.freeboxos.fr'"
and check to make sure that only the key(s) you wanted were added.
etudiant@ordi:~$
Et on peut vérifier que le répertoire .ssh existe et qu’un fichier authorized_keys aussi
wb2g1app14@ordi:~$ ls .ssh
authorized_keys
wb2g1app14@ordi:~$ cat .ssh/authorized_keys
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKe7k2nEa05bbLK7RaM62kgHOA+JHEwZMXXY1IoU7lmz etudiant@ltDorian.com
wb2g1app14@ordi:~$
et on retrouve notre clé publique réalisée précédemment.
avec un autre terminal on va retenter une connexion sur workboot.
etudiant@ordi:~$ ssh wb2g1app14@workboot.freeboxos.fr -p 74
Enter passphrase for key '/home/etudiant/.ssh/id_ed25519':
Last login: Fri Oct 23 20:50:48 CEST 2026 from 192.168.1.254 on ssh
╔═══════════════════════════════════════════════════════════════╗
║ ║
║ // __ __ _ _ _ ║
║ // \ \ / /__ _ __| | _| |__ ___ ___ | |_ ║
║// \ \ /\ / / _ \| '__| |/ / '_ \ / _ \ / _ \| __| ║
║\\ \ V V / (_) | | | <| |_) | (_) | (_) | |_ ║
║ \\ \_/\_/ \___/|_| |_|\_\_.__/ \___/ \___/ \__| ║
║ \\ ║
║ ║
║ Bienvenue sur le serveur Workboot ║
║ ║
║ Lycée Caroline Dorian ║
║ ║
╚═══════════════════════════════════════════════════════════════╝
Bonjour et bienvenue sur ton espace de travail !
Tu disposes ici d'un espace personnel sur Workboot, accessible
depuis Windows, Linux ou macOS via SSH.
Ton espace est limité à 500 Mo (avertissement) et 600 Mo (blocage).
Pense à nettoyer régulièrement tes fichiers volumineux.
Pour changer ton mot de passe à tout moment : tape simplement
passwd
et suis les instructions.
Last login: Fri Oct 23 20:50:48 2026 from 192.168.1.254
wb2g1app14@ordi:~$
on a plus besoin de taper le mot de passe mais la passphrase de la clé privée permet de vous identifier.
Car nous avons une authentification plus forte ,car il y a le système de clés plus la passphrase !
ssh-agent
Vérifier la présence des outils :
etudiant@ordi:~$ which ssh-agent ssh-add ssh
/usr/bin/ssh-agent
/usr/bin/ssh-add
/usr/bin/ssh
etudiant@ordi:~$
nous disposons de ce qu’il faut
on va découvrir ssh-agent
etudiant@ordi:~$ ssh-agent -s
SSH_AUTH_SOCK=/home/etudiant/.ssh/agent/s.ZixzWJSncY.agent.ONHqxZm6Dp; export SSH_AUTH_SOCK;
SSH_AGENT_PID=17200; export SSH_AGENT_PID;
echo Agent pid 17200;
etudiant@ordi:~$
on doit lancer ssh-agent
avec l’option -s , ssh-agent nous donne la configuration pour que ca fonctionne.
etudiant@ordi:~$ ssh-agent -s
SSH_AUTH_SOCK=/home/etudiant/.ssh/agent/s.ZixzWJSncY.agent.ONHqxZm6Dp; export SSH_AUTH_SOCK;
SSH_AGENT_PID=17200; export SSH_AGENT_PID;
echo Agent pid 17200;
on va utiliser eval pour passer l’environnement nécessaire dans le shell
avec nos expérimentation précèdente on a pu fabriquer des process orphelin
etudiant@ordi:~$ ps aux | grep ssh-agent | grep -v grep
etudiant 16587 0.0 0.0 10484 920 ? Ss 17:16 0:00 ssh-agent -s
etudiant 17123 0.0 0.4 10500 7036 ? Ss 17:32 0:00 /usr/bin/ssh-agent -D
etudiant 17200 0.0 0.1 10484 1804 ? Ss 17:59 0:00 ssh-agent -s
etudiant 17268 0.0 0.2 10484 3580 ? Ss 18:04 0:00 ssh-agent -s
etudiant@ordi:~$
on va simplement les tuer (les killer)
etudiant@ordi:~$ pkill -u etudiant -f 'ssh-agent -s'
etudiant@ordi:~$ ps aux | grep ssh-agent | grep -v grep
etudiant 17123 0.0 0.4 10500 7036 ? Ss 17:32 0:00 /usr/bin/ssh-agent -D
etudiant@ordi:~$
et on va lancer notre ssh-agent
etudiant@ordi:~$ eval $(ssh-agent -s)
Agent pid 17268
etudiant@ordi:~$ echo $SSH_AUTH_SOCK
/home/etudiant/.ssh/agent/s.ZixzWJSncY.agent.L6EWZnFb0P
etudiant@ordi:~$
une fois lancer on va ajouter notre clé privée qui sera rangée en mémoire déchiffrée
etudiant@ordi:~$ ssh-add ~/.ssh/id_ed25519
Enter passphrase for .ssh/id_ed25519:
ici on va rentrer test123 (notre super mot de passe !)
etudiant@ordi:~$ ssh-add -l
256 SHA256:+4/dD02+ydTATXOlNwmsLbVUpIdZW+uJKN/QVzphgug etudiant@ltDorian.com (ED25519)
etudiant@ordi:~$
et désormais plus besoin de taper de passphrase !
etudiant@ordi:~$ ssh wb2g1app14@workboot.freeboxos.fr -p 74
Last login: Sat Oct 24 17:38:32 CEST 2026 from 192.168.1.254 on ssh
╔═══════════════════════════════════════════════════════════════╗
║ ║
║ // __ __ _ _ _ ║
║ // \ \ / /__ _ __| | _| |__ ___ ___ | |_ ║
║// \ \ /\ / / _ \| '__| |/ / '_ \ / _ \ / _ \| __| ║
║\\ \ V V / (_) | | | <| |_) | (_) | (_) | |_ ║
║ \\ \_/\_/ \___/|_| |_|\_\_.__/ \___/ \___/ \__| ║
║ \\ ║
║ ║
║ Bienvenue sur le serveur Workboot ║
║ ║
║ Lycée Caroline Dorian ║
║ ║
╚═══════════════════════════════════════════════════════════════╝
Bonjour et bienvenue sur ton espace de travail !
Avant de quitter votre session
ssh-add -D # vider l'agent avant de quitter la machine
tester ce que ca a fait.
etudiant@ordi:~$ ssh-add -D
All identities removed.
etudiant@ordi:~$
essayer de vous connecter:
etudiant@ordi:~$ ssh wb2g1app14@workboot.freeboxos.fr -p 74
Enter passphrase for key '/home/etudiant/.ssh/id_ed25519':
expliquer:
Avant de terminer il faut bien sécuriser vos espaces
En fin de TP, ne conservez pas test123. Changez la passphrase (ssh-keygen -p -f ~/.ssh/id_ed25519) ou régénérez une paire si vous suspectez une compromission. Vérifiez ensuite que la connexion fonctionne.
soit en régénérant une paire de clés
soit en modifiant le mot de passe de votre clé privée, si son intégrité n’est pas compromise.
vérifier que tout fonctionne.
Dans un idéal il faut effacer votre .ssh et refaire tout avec les bonnes règles de cyber sécurité
