Aller au contenu

🛠️ TP – Installer et administrer un serveur Linux

Bac Pro CIEL – Première – E31 – S10 – binôme, on échange les rôles à chaque partie

Note

Mission. MécaPro va héberger des services (web, partage, DHCP…) sur un serveur Linux. Ta mission : joindre un serveur depuis un autre réseau (simulateur), puis installer un serveur Ubuntu sans écran (VM), lui donner une adresse fixe, créer ton compte administrateur, et l'administrer en SSH par clé.

Temps prévu : 3 h 30. Prérequis : cours S10 (§1 à §3) lu ; aide-mémoire sous la main.

Binôme : __ / ____


Partie A – Le serveur qui ne répond pas (simulateur, ≈ 35 min)

Ouvre le simulateur, puis Ouvre p10-serveur.json.

Équipement Réseau Adresse
PC1 (poste admin) 192.168.10.0/24 192.168.10.11, passerelle 192.168.10.1
R1 (routeur) 192.168.10.1 et 192.168.20.1 déjà configuré
SRV1 (serveur Linux) 192.168.20.0/24 192.168.20.100/24
  1. Sur PC1 : ping 192.168.20.100 puis tracert 192.168.20.100.
  2. Sur SRV1 (double-clic, terminal) : ip a, ip r, puis ping -c 2 192.168.10.11.
Question Ta réponse
Que donne le ping depuis PC1 ? Combien de sauts répondent dans tracert ?
ip r sur SRV1 : y a-t-il une ligne default via … ?
Que dit le ping de SRV1 vers PC1 ?

❓ Quelle est la cause ? Où as-tu déjà vu ce « aller sans retour » ? ____

Aide

Pense à la route de retour de S07. Le routeur transmet bien jusqu'au serveur, mais le serveur ne sait pas où envoyer une réponse destinée à un autre réseau.

Corrige (dans le terminal de SRV1) : ip route add default via 192.168.20.1. Vérifie : ip r, puis ping dans les deux sens.

✅ Point de contrôle : PC1 ↔ SRV1 répondent, tracert : 2 sauts (le routeur, puis le serveur).

Note

Sur un vrai serveur, cette route est écrite dans un fichier (netplan) pour survivre au redémarrage : c'est la partie D.

🔁 Échange des rôles.


Partie B – Créer la VM Ubuntu Server (≈ 50 min)

Tip

Si l'installation est trop longue, ton professeur te donne une VM déjà installée : passe à la partie C.

  1. VirtualBox → Nouvelle : nom srv-ciel-xx, ISO Ubuntu Server 24.04, type Linux / Ubuntu 64 bits, 2048 Mo de RAM, 1 processeur, disque 20 Go.
  2. Avant de démarrer : Configuration ▸ Réseau :
  3. Carte 1 : Accès par NAT (pour accéder à Internet et installer des paquets) ;
  4. Carte 2 : Réseau privé hôte (pour que ton PC voie le serveur).
  5. Démarre et suis l'installateur (interface texte, flèches + Entrée) :
Étape Choix
Langue / clavier Français / French (AZERTY)
Type Ubuntu Server (pas « minimized »)
Réseau Laisser par défaut (DHCP)
Disque Utiliser un disque entier (laisse les valeurs par défaut)
Profil nom : Eleve xx – nom du serveur : srv-ciel-xx – utilisateur : eleve – mot de passe long, noté
OpenSSH server ✅ cocher « Install OpenSSH server »
Snaps Ne rien sélectionner
  1. À la fin : Reboot Now (retire l'ISO si demandé), puis connecte-toi en eleve.

✅ Point de contrôle : tu vois l'invite eleve@srv-ciel-xx:~$ — et il n'y a aucun bureau.

❓ Pourquoi coche-t-on « OpenSSH server » ? ____

🔁 Échange des rôles.


Partie C – Premiers pas dans le serveur (≈ 30 min)

Tape et note :

Commande Que lis-tu ?
pwd
cat /etc/os-release Distribution et version :
hostnamectl Nom du serveur :
ip -br a Interfaces et adresses :
ip r Passerelle (default via) :
ping -c 3 8.8.8.8 Internet joignable ?
ss -tlnp Quel service écoute sur le port 22 ?
systemctl status ssh État du service :

❓ Quelle interface est la carte NAT, laquelle est le réseau privé hôte ? Indice : l'une a une adresse en 10.0.2.x, l'autre en 192.168.56.x (ou aucune).

✅ Point de contrôle : tu connais le nom de ta carte « réseau privé hôte » (souvent enp0s8) : ____


Partie D – Adresse fixe avec netplan (≈ 30 min)

Ton serveur doit avoir toujours la même adresse : 192.168.56.10/24 sur la carte réseau privé hôte.

  1. Crée le fichier de configuration :
sudo nano /etc/netplan/60-ciel.yaml
  1. Écris (espaces uniquement, pas de tabulation) — remplace enp0s8 par ta carte :
network:
  version: 2
  ethernets:
    enp0s8:
      addresses: [192.168.56.10/24]
  1. Enregistre (Ctrl+O, Entrée) puis quitte (Ctrl+X), puis :
sudo chmod 600 /etc/netplan/60-ciel.yaml
sudo netplan apply
ip -br a

✅ Point de contrôle : ip -br a montre 192.168.56.10/24. Depuis le terminal de ton PC (PowerShell) : ping 192.168.56.10 répond.

Problème possible Piste
Invalid YAML Tabulation ou mauvaise indentation
Avertissement sur les permissions sudo chmod 600 …
Pas de ping depuis le PC Mauvaise carte, ou carte 2 non « réseau privé hôte »

❓ Pourquoi fixer l'adresse d'un serveur, alors qu'un poste utilise le DHCP ? ____

🔁 Échange des rôles.


Partie E – Administrer en SSH (≈ 45 min)

E1. Un second compte, avec sudo

sudo adduser admin1
sudo usermod -aG sudo admin1
groups admin1

Warning

Choisis ton propre mot de passe (long) et note-le : ____
(En entreprise : un coffre de mots de passe, jamais un papier collé sur l'écran.)

E2. Se connecter depuis le PC

Dans PowerShell (ou un terminal) de ton PC :

ssh admin1@192.168.56.10

À la première connexion : réponds yes à la question sur l'empreinte. Tape whoami, sudo whoami, puis exit.

Question Réponse
Que dit la question sur l'empreinte ? Pourquoi existe-t-elle ?
Que renvoie sudo whoami ?

E3. La connexion par clé

Sur ton PC (PowerShell) :

ssh-keygen -t ed25519

(Entrée à chaque question, ou mets une phrase secrète.) Affiche ta clé publique :

type $env:USERPROFILE\.ssh\id_ed25519.pub

(Sous Linux/macOS : cat ~/.ssh/id_ed25519.pub.) Copie la ligne entière.

Sur le serveur (connecté en admin1) :

mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys

Colle la ligne, enregistre, puis chmod 600 ~/.ssh/authorized_keys.

✅ Point de contrôle : depuis le PC, ssh admin1@192.168.56.10 ne demande plus de mot de passe (juste la phrase secrète si tu en as mis une).

❓ Quelle clé ne doit jamais quitter ton PC ? ____

🔁 Échange des rôles.

E4. Durcir : plus de mot de passe, plus de root

Warning

Garde une session SSH ouverte pendant cette étape : tu y feras la correction si besoin.

Sur le serveur :

sudo nano /etc/ssh/sshd_config.d/10-ciel.conf
PasswordAuthentication no
PermitRootLogin no

Puis :

sudo sshd -t
sudo systemctl restart ssh

Teste dans un nouveau terminal : la connexion par clé doit marcher. Pour voir le blocage : ssh -o PubkeyAuthentication=no admin1@192.168.56.10 doit être refusé.

✅ Point de contrôle : clé = accès OK ; mot de passe = refusé.

E5. Lire le journal

sudo journalctl -u ssh -n 20

Retrouve : ta connexion réussie, et la tentative refusée. Note une ligne de chaque : ____


Partie F – Fiche d'identité du serveur (≈ 15 min, individuel)

Élément Valeur
Nom du serveur
Distribution / version
Adresse IP fixe
Compte administrateur (sudo)
Service SSH écoute sur le port
Authentification
root en SSH

🏁 Bilan

Oral (2 min par élève)

  1. Pourquoi un serveur n'a-t-il pas d'interface graphique ?
  2. Quelle différence entre clé publique et privée ?
  3. Pourquoi tester avant de désactiver le mot de passe ?
Mon auto-évaluation 😟 🙂 😀
Je me déplace en ligne de commande Linux
Je configure une IP fixe avec netplan
Je crée un utilisateur avec sudo
Je me connecte en SSH par clé

🔍 Dépannage

Symptôme Cause probable Que faire
ssh : Connection timed out Mauvaise IP, mauvaise carte réseau ip -br a sur le serveur ; ping
Connection refused Service ssh arrêté / non installé systemctl status ssh ; sudo apt install openssh-server
Permission denied (publickey) Clé mal copiée, mauvais droits ls -l ~/.ssh : dossier 700, fichier 600
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED Serveur réinstallé / usurpé Vérifier ; si légitime : ssh-keygen -R 192.168.56.10
sudo : not in the sudoers file Utilisateur pas dans le groupe sudo usermod -aG sudo nom (depuis un compte admin)
netplan apply : erreur Tabulation, indentation Réécrire avec des espaces

Tip

Passeport d'autonomie : ligne « Installer et administrer un serveur Linux en ligne de commande (IP fixe, sudo, SSH par clé) » → semi-guidé ✔.

➡️ Mission en entreprise : noter comment les serveurs sont administrés.