Aller au contenu

TP – Assister et administrer à distance

BTS SIO SISR 2e année – Bloc 1 – S16 – binôme

Note

But. Tu choisis le bon outil pour cinq situations, tu mets en place un serveur SSH de laboratoire à clé unique, tu le testes, tu le casses puis le répares, tu ouvres un tunnel, puis tu rédiges la procédure d'assistance et la réponse à la perte d'un mobile.

Durée : 2 h 50 (parties A à E), plus le bilan. Prérequis : cours S16 lu. Fichier : lance-ssh-labo.sh. Outils : ssh, ssh-keygen, OpenSSH serveur, Python 3, curl.

Warning

Tout se passe sur ton poste (127.0.0.1), dans un dossier privé de ton répertoire personnel (pas /tmp). Tu n'ouvres aucun port vers l'extérieur et tu ne te connectes à aucun vrai serveur.

Note

Comment ce TP fonctionne. Avant chaque manipulation, tu écris ce que tu anticipes (« J'anticipe »). Puis tu confrontes avec les éléments de réponse.

Binôme : ____________ / ____________

Partie A – Choisir l'outil (≈ 25 min)

Pour chaque situation, indique l'outil ou le protocole, ce que tu mets en place avant et ce que tu ne fais pas.

N° Situation
1 Une agente en télétravail ne retrouve plus son document : elle est devant son écran
2 Mise à jour du serveur de fichiers de la mairie, un samedi matin, depuis chez toi
3 Une console d'administration du serveur du portail n'écoute que sur le serveur lui-même et tu dois y accéder
4 Un élu demande un accès « à tout moment » à son poste depuis son téléphone
5 Un prestataire demande un accès au serveur de base de données pour une maintenance d'une demi-journée

J'anticipe. Pour laquelle de ces situations utiliserais-tu un tunnel ? ______

Éléments de réponse

Situation 1 : outil d'assistance avec accord de l'agente, ticket. Situation 2 : SSH ou bureau à distance vers le serveur, par VPN ou bastion, avec clé ou authentification forte. Situation 3 : tunnel SSH. Situation 4 : refus de principe d'un accès permanent exposé ; solution encadrée (VPN, assistance sur demande). Situation 5 : compte nominatif et temporaire, accès limité au serveur concerné, journalisé, retiré à la fin.

Partie B – Serveur SSH de laboratoire (≈ 40 min)

  1. Crée un dossier privé : mkdir ~/ssh-labo && cd ~/ssh-labo, copie lance-ssh-labo.sh dedans, puis lance sh lance-ssh-labo.sh dans un premier terminal. Le script crée les clés, écrit sshd_labo.conf et démarre le serveur sur 127.0.0.1:2222.
  2. Dans un second terminal, dans le même dossier, relève l'empreinte du serveur : ssh-keygen -l -f hote_cle.pub.
  3. Connecte-toi : ssh -p 2222 -i cle_technicien -o UserKnownHostsFile=known $USER@127.0.0.1 hostname. Compare l'empreinte affichée par ssh avec celle de l'étape 2 avant d'accepter (yes).
  4. Essaie de te connecter sans clé (avec -o PreferredAuthentications=password -o PubkeyAuthentication=no), puis avec une autre clé (ssh-keygen -t ed25519 -N "" -f autre, puis -i autre -o IdentitiesOnly=yes). Que se passe-t-il ?
  5. Dans le premier terminal, relève les lignes du journal correspondant à tes essais (connexion acceptée, échec).

J'anticipe. Que répondra le serveur à une connexion par mot de passe ? ______

Éléments de réponse

Le serveur répond « Permission denied (publickey) » : les mots de passe sont refusés et seule la clé du technicien est acceptée. Le journal contient Accepted publickey for … pour la bonne clé et Failed publickey for … pour l'autre. L'empreinte affichée à la première connexion doit être identique à celle de ssh-keygen -l.

Partie C – Casser et réparer (≈ 25 min)

  1. Copie la configuration : cp sshd_labo.conf erreur.conf, puis introduis une faute de frappe : sed -i 's/^PasswordAuthentication no/PasswordAuthentification no/' erreur.conf.
  2. Teste-la : /usr/sbin/sshd -t -f "$PWD/erreur.conf". Note le message et le code de retour (echo $?).
  3. Explique pourquoi il faut toujours tester avant de recharger, surtout à distance. ______
  4. Piège du chemin. Déplace temporairement le dossier du laboratoire dans /tmp et relance : que constates-tu dans le journal ? (Remets ensuite le dossier en place.) Explique la règle que sshd applique.

J'anticipe. Que renverra sshd -t : un avertissement ou une erreur ? Quel code de retour ? ______

Éléments de réponse

Message du type Bad configuration option: PasswordAuthentification avec un code de retour non nul (255 observé). Dans /tmp, sshd refuse la clé : « Authentication refused: bad ownership or modes for directory /tmp » : une clé n'est acceptée que si le chemin ne peut être modifié par d'autres utilisateurs.

Partie D – Un tunnel vers une console non exposée (≈ 25 min)

  1. Crée un dossier www avec un fichier index.html contenant « console d'administration », puis lance un petit serveur sur le port 8001, limité à l'interface locale : python3 -m http.server 8001 --bind 127.0.0.1 --directory www.
  2. Vérifie que le port 8080 ne répond pas : curl -s -o /dev/null -w "%{http_code}\n" http://127.0.0.1:8080/ (code 000).
  3. Ouvre le tunnel : ssh -f -N -p 2222 -i cle_technicien -o UserKnownHostsFile=known -L 8080:127.0.0.1:8001 $USER@127.0.0.1.
  4. Relance le curl sur le port 8080 : que reçois-tu ? Explique le chemin parcouru par la requête.
  5. Ferme le tunnel (trouve et arrête le processus ssh) et arrête le petit serveur.

J'anticipe. Quel contenu obtiendras-tu sur le port 8080 ? ______

Éléments de réponse

Le contenu de la page « console d'administration ». La requête arrive sur le port 8080 de ton poste, est envoyée chiffrée par SSH au serveur, qui la transmet à 127.0.0.1:8001 de son point de vue. Le port 8001 n'a jamais été exposé : il n'écoute que sur l'interface locale.

Partie E – Procédure d'assistance et mobile perdu (≈ 35 min)

E1. Rédige la procédure d'assistance à distance du service (une page) : demande (ticket), vérification de l'identité de l'appelant, accord, annonce, périmètre, trace, clôture. Ajoute trois interdits.

E2. Un agent signale à 8 h 40 la perte de son téléphone personnel, qui contient un profil professionnel (messagerie et agenda de la mairie). Décris, dans l'ordre, les actions du support. Précise ce qui change si c'était un téléphone fourni par la commune.

E3. Tu dois ajouter les mobiles à l'inventaire (B1.1). Propose les sept colonnes d'un tableau d'inventaire.

Rendu

Compte rendu PDF, nommé RENDU-B1A2-S16-NOM.pdf : tableaux A, sorties B, C et D (journal et curl), procédure E1, plan E2, colonnes E3. Aucun nom ou adresse réels.

Retour en entreprise (si ta situation le permet)

Demande à ton tuteur comment l'équipe se connecte à distance aux serveurs et aux postes (VPN, bastion, outil d'assistance), qui donne les accès et comment ils sont tracés. Anonymise tout document.

Bilan de la séance

Remplis ce bilan seul, honnêtement : il sert à décider ce qu'il faut reprendre. Niveau : Non maîtrisé, Maîtrise partielle, Bonne maîtrise ou Excellente maîtrise (le vocabulaire des grilles nationales d'évaluation), ou Non évalué.

Compétence du référentiel Ce que j'ai fait dans cette séance Niveau
B1.2 – Répondre aux incidents et aux demandes d'assistance et d'évolution
B1.5 – Mettre à disposition des utilisateurs un service informatique
B1.1 – Gérer le patrimoine informatique

Note

Les codes sont ceux du référentiel.

Je sais faire, sans aide :

  • Choisir l'outil d'accès à distance adapté
  • Configurer SSH par clé et le tester
  • Lire le journal de connexions
  • Utiliser un tunnel pour une interface non exposée
  • Rédiger une procédure d'assistance respectueuse du consentement
  • Réagir à la perte d'un terminal mobile

Ce que je dois reprendre : ______________________

Ma question à poser à l'enseignant : ______________________