Cours Linux / Configurer un nouveau serveur et vérifier son accès après redémarrage

Pour préparer un nouveau serveur Linux, assurez d’abord un accès de secours à la console, puis vérifiez un compte administrateur ordinaire et une connexion SSH par clé avant de toucher à l’authentification ou au pare-feu. Appliquez ensuite les mises à jour, contrôlez l’heure et les ports nécessaires, et ne déclarez l’installation prête qu’après une nouvelle connexion et un redémarrage planifié réussis.

Cet atelier concerne une nouvelle machine virtuelle Ubuntu 26.04 LTS ou Rocky Linux 9 que vous pouvez réinitialiser. Les images cloud peuvent déjà créer un compte et gérer des réglages avec cloud-init ; un conteneur ou WSL peut ne pas offrir le même démarrage, pare-feu ou console. Le cours de préparation d’une VM explique comment vérifier l’accès à la console et le système installé. Gardez l’ancienne session d’administration ouverte pendant tous les contrôles de connexion.

Identifier le serveur et préparer la récupération

Choisissez Ubuntu ou Rocky Linux, pas les deux séries de commandes à la suite. Assurez-vous de disposer des droits d’administration, d’un accès à la console de la VM ou du fournisseur et d’une méthode de sauvegarde ou de recréation. Un instantané facilite le retour arrière de l’atelier, mais ne remplace pas nécessairement une sauvegarde indépendante : une panne du même stockage ou l’état incohérent d’une application active peut aussi toucher l’instantané.

cat /etc/os-release
hostnamectl
ip -brief address
ip route
timedatectl
lsblk -f

Notez la distribution, le nom d’hôte, l’adresse, la route, le fuseau et les volumes. Confrontez-les à votre inventaire avant d’agir : copier le nom d’une interface, d’un disque ou d’une adresse d’une autre machine pourrait modifier le mauvais système. Sur une image cloud, identifiez le compte initial et les réglages gérés par cloud-init, car une modification manuelle peut être remplacée au démarrage suivant.

Créer ou confirmer un compte d’administration ordinaire

Si un compte administratif adapté existe déjà, vérifiez-le et réutilisez-le. Pour l’exercice avec un nouveau compte, vérifiez d’abord que le nom courseadmin est libre avec getent passwd courseadmin. Le premier bloc suivant concerne Ubuntu seulement ; le second, Rocky Linux seulement. Dans chaque cas, vérifiez le groupe qui donne réellement les droits sudo sur cette installation et conservez la session administrateur actuelle ouverte.

sudo adduser courseadmin
sudo usermod -aG sudo courseadmin
sudo useradd -m courseadmin
sudo passwd courseadmin
sudo usermod -aG wheel courseadmin

Le mot de passe se saisit dans l’invite de passwd, jamais dans une ligne de commande copiée ou un fichier de notes. Connectez-vous ensuite avec ce compte dans une nouvelle session et contrôlez id puis sudo -v. Une appartenance ajoutée à un groupe peut n’être visible qu’après une nouvelle ouverture de session. Si la politique sudoers doit changer, utilisez visudo pour vérifier la syntaxe et gardez une autre voie d’administration. N’ajoutez pas un accès sans mot de passe à toutes les commandes pour accélérer l’exercice.

Vérifier l’identité du serveur et la connexion SSH par clé

Sur le client, créez une paire de clés ou choisissez une clé déjà autorisée. Vérifiez l’empreinte de la clé du serveur par une voie de confiance, par exemple la console, avant de l’accepter sur le client. Installez uniquement la clé publique dans le compte cible ; la clé privée reste sur le client. Le guide Ubuntu OpenSSH décrit la création et la pose de la clé publique.

Depuis un nouveau terminal, utilisez ssh -i CHEMIN_CLE_PRIVEE courseadmin@ADRESSE_REELLE après avoir remplacé ces deux espaces réservés, puis testez id et une commande sudo autorisée. Vérifiez le port réellement écouté et les règles réseau du fournisseur. Le cours SSH et transfert de fichiers explique les permissions des clés et les échecs de connexion. N’envisagez la restriction des mots de passe ou l’accès direct de root qu’après validation de la clé, des privilèges et de la console ; contrôlez ensuite la configuration avec sshd -t et une autre nouvelle connexion. Une session déjà ouverte peut survivre à une règle qui refusera la suivante.

Installer les mises à jour et contrôler l’heure

Pour Ubuntu, exécutez le premier bloc ; pour Rocky Linux, le second. Lisez la liste des paquets et les changements proposés avant de confirmer la transaction. Préparez une sauvegarde et une fenêtre de maintenance si le serveur héberge déjà un service dont l’arrêt aurait un effet :

sudo apt update
sudo apt upgrade
sudo dnf upgrade

Une mise à jour peut redémarrer un service ou nécessiter un redémarrage pour qu’un nouveau noyau soit utilisé. Après l’opération, testez la connexion administrative et les services utiles. Le cours APT et DNF détaille l’examen des paquets et la vérification du résultat.

timedatectl affiche le fuseau et des informations sur la synchronisation. Si un autre fuseau est nécessaire, choisissez le nom IANA voulu selon la politique d’exploitation plutôt que de modifier l’horloge à la main. Un service de synchronisation configuré ne prouve pas que l’horloge est juste si l’accès au serveur de temps est bloqué : confrontez l’heure à une référence fiable et examinez l’état du service de temps réellement installé. Le manuel systemd de timedatectl explique les réglages disponibles.

Si vous changez le nom d’hôte avec hostnamectl set-hostname, vérifiez sa relation avec DNS, les entrées hosts, les certificats et l’inventaire de gestion. Sur une image cloud, confirmez aussi que cloud-init ou l’automatisation ne remplacera pas ce nom au prochain démarrage. N’effectuez ce changement que si un nom cible a été décidé.

Autoriser uniquement les accès requis et noter la référence

Lisez la politique actuelle du pare-feu de l’hôte et celle du fournisseur cloud. Assurez d’abord le port SSH réel, vérifiez une nouvelle connexion, puis n’ouvrez que les ports des services que vous allez réellement utiliser. Contrôlez IPv4 et IPv6, ainsi que la zone active si Rocky Linux utilise firewalld. Le cours de protection du serveur avec UFW ou firewalld détaille l’ordre des contrôles et le retour arrière. Ne désactivez pas SELinux pour résoudre sans diagnostic un refus d’accès sur Rocky Linux.

Conservez un relevé sans clé privée, mot de passe ou jeton, dans un dossier réservé à votre compte. Choisissez un nom de dossier qui n’existe pas déjà : la création suivante échoue si $HOME/server-baseline existe, afin de ne pas écraser un relevé précédent. Lancez le bloc dans le compte dont le dossier personnel doit contenir la référence :

baseline="$HOME/server-baseline"
if test -e "$baseline" || test -L "$baseline"; then
  printf 'Le dossier de référence existe déjà : choisir un autre nom\n' >&2
else
  mkdir -m 700 -- "$baseline" || exit 1
  cat /etc/os-release > "$baseline/os-release.txt"
  ip -brief address > "$baseline/addresses.txt"
  lsblk -f > "$baseline/storage.txt"
  systemctl --failed > "$baseline/failed-units.txt"
fi

Comparez le contenu des quatre fichiers avec l’état observé avant les changements. Le code de sortie et la sortie de systemctl --failed demandent une lecture humaine : le fichier seul ne signifie pas que tous les services fonctionnent. Les adresses et informations de stockage restent des données d’exploitation ; limitez l’accès au dossier et appliquez la politique de conservation de votre site. Sauvegardez séparément les véritables configurations et consignez l’emplacement de restauration.

Redémarrer dans une fenêtre prévue et vérifier le résultat

Un redémarrage est un test de l’état enregistré, notamment des règles de pare-feu et des services activés. Effectuez-le seulement sur votre VM ou pendant une fenêtre d’interruption autorisée :

  1. Enregistrez les données de travail, vérifiez une dernière fois la console, les sauvegardes et la possibilité de restaurer le dernier changement.
  2. Exécutez sudo reboot et suivez le démarrage depuis la console.
  3. Ouvrez une nouvelle connexion SSH, contrôlez les droits sudo, les adresses, la route, l’heure, les montages et les services nécessaires.
  4. Examinez systemctl --failed et le journal du démarrage courant, puis comparez les observations au relevé précédent.

Si la connexion échoue, recherchez depuis la console la véritable adresse, le service SSH, son port d’écoute et les règles du pare-feu dans cet ordre. Restaurez le dernier changement identifié plutôt que de modifier plusieurs réglages à la fois. Un redémarrage réussi mais un service indisponible ne valide pas l’installation : vérifiez l’usage réel du service depuis un client. Vous pouvez installer la charge de travail suivante seulement après ces contrôles.