Configuration Rapide d'Ubuntu Server 18.04.6 sur VMware : De l'Image ISO à l'Accès SSH Sécurisé

La mise en place rapide d'un environnement serveur Linux virtuel, propre et administrable à distance, représente une compétence fondamentale pour les ingénieurs DevOps et les développeurs. Ubuntu 18.04.6 LTS Server, en tant que version à support étendu, est fréquemment privilégiée pour sa robustesse et sa large compatibilité logicielle. Cet article s'éloigne des approches didactiques conventionnelles pour se concentrer sur les points de décision cruciaux et les embûches courantes lors du déploiement, vous guidant de l'obtention de l'image d'installation à la connexion SSH sécurisée en un minimum de temps.

  1. Acquisition et Vérification de l'Image

1.1 Sélection des Sources de Téléchargement

Accéder directement à releases.ubuntu.com pour télécharger l'image officielle d'Ubuntu peut s'avérer lent selon votre localisation. Voici des alternatives reconnues pour une meilleure vitesse :

Astuce de vérification de vitesse : Utilisez la commande curl pour estimer le débit de téléchargement :

curl -s --output /dev/null --write-out '%{speed_download}\n' https://mirrors.aliyun.com/ubuntu-releases/18.04.6/ubuntu-18.04.6-live-server-amd64.iso

1.2 Validation de l'Intégrité de l'Image

Après le téléchargement, la vérification du hachage SHA256 est primordiale pour s'assurer que le fichier n'a pas été corrompu ou altéré :

echo "a376a8e9e5e5a6d6e5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5  ubuntu-18.04.6-live-server-amd64.iso" | sha256sum -c

Important : Le hachage exact doit être obtenu sur le site officiel d'Ubuntu. L'exemple ci-dessus est un format indicatif.

  1. Optimisation de la Configuration de la Machine Virtuelle VMware

2.1 Décisions Clés lors de la Création de la VM

Lors de la création d'une nouvelle machine virtuelle dans VMware Workstation Pro, certains choix influencent grandement les performances et la stabilité :

Paramètre Recommandation Motivation
Type de firmware UEFI Meilleure compatibilité et démarrage plus rapide
Type de contrôleur de disque SCSI Performances supérieures à IDE, compatibilité étendue
Mode de connexion réseau NAT Accès internet simple, idéal pour la plupart des scénarios de développement
Mémoire vive (RAM) ≥ 2 Go Assure une exécution fluide du système et des services
Cœurs de CPU ≥ 2 Prévient les goulots d'étranglement pour les tâches intensives comme la compilation

2.2 Erreurs de Configuration Courantes

  • Allocation d'espace disque :
    • L'allocation par défaut de 20 Go est souvent insuffisante pour un environnement serveur.
    • Allouez au moins 40 Go, surtout si vous prévoyez d'exécuter des conteneurs ou des applications gourmandes en données.
    • Disque à extension dynamique vs. Pré-alloué : Utilisez l'extension dynamique pour économiser de l'espace en développement ; le pré-alloué est préférable pour des tests de performance en pré-production.
  • Choix du mode réseau :
    • Mode Pont (Bridged) : La VM obtient une adresse IP distincte sur le réseau physique, mais peut entrer en conflit avec les politiques réseau d'entreprise.
    • Mode NAT : La VM partage l'adresse IP de l'hôte, idéal pour la majorité des environnements de développement.
    • Mode Hôte-seulement (Host-Only) : Isole la VM du réseau externe, utile pour des tests sécurisés sans accès internet.
  1. Étapes Cruciales de l'Installation du Système

3.1 Configuration Optimale durant l'Installation

L'installateur d'Ubuntu Server est épuré, mais ces points méritent une attention particulière :

  1. Source des paquets (Miroir APT) :
    • Remplacez la source par défaut par un miroir local ou national dès l'installation.
    • Exemples : http://fr.archive.ubuntu.com/ubuntu ou https://mirrors.tuna.tsinghua.edu.cn/ubuntu pour la Chine.
  2. Schéma de partitionnement :
    • Option simple : Partitionnement automatique du disque entier.
    • Option avancée (recommandée pour un serveur) :
      • /boot : 1 Go
      • swap : 1 à 1.5 fois la RAM
      • / (racine) : 70% de l'espace restant
      • /home : Les 30% restants (si des utilisateurs locaux sont prévus)
  3. Sélection de logiciels essentiels :
    • Assurez-vous de cocher OpenSSH server pour l'administration à distance.
    • Pour un environnement de production, standard system utilities est également essentiel.

3.2 Configurations Post-Premier Démarrage

Après le premier démarrage, exécutez immédiatement ces commandes pour mettre à jour votre système :

sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential curl htop

Conseil : htop est un excellent outil de surveillance des processus et des ressources.

  1. Configuration et Accès SSH Distant

4.1 S'assurer que le Service SSH Fonctionne

Vérifiez le statut du service SSH :

sudo systemctl status sshd

Si le service n'est pas actif, utilisez cette commande pour l'activer et le démarrer :

sudo systemctl enable --now sshd

4.2 Recommandations de Sécurisation

  1. Changer le port par défaut (optionnel, mais conseillé) : ``` sudo sed -i 's/^#Port 22/Port 22022/' /etc/ssh/sshd_config sudo systemctl restart sshd
  2. Désactiver la connexion root directe : ``` sudo sed -i 's/^PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config sudo systemctl reload sshd
  3. Mettre en place l'authentification par clés SSH : ``` mkdir -p ~/.ssh && chmod 700 ~/.ssh echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC... votre_cle_publique_ici" >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
    
    Remplacez `"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC... votre_cle_publique_ici"` par votre propre clé publique.
    
    

4.3 Exemples de Connexion Client SSH

Utilisez la commande ssh standard depuis votre terminal ou un client graphique comme PuTTY/Termius :

ssh votre_utilisateur@adresse_ip_machine_virtuelle -p 22022
  1. Maintenance et Diagnostic

5.1 Diagnostic des Problèmes de Connexion Réseau

Si la connexion SSH échoue, suivez ces étapes de dépannage :

  1. Vérifiez l'état de l'adaptateur réseau de la VM dans VMware.
  2. Confirmez l'adresse IP de la VM depuis la console : ``` ip a
  3. Testez la connectivité réseau depuis la VM : ``` ping 8.8.8.8
    
    

5.2 Surveillance et Optimisation des Performances

Installez des utilitaires de surveillance essentiels :

sudo apt install -y sysstat

Commandes de surveillance courantes :

  • Surveillance en temps réel des processus : htop
  • Statistiques d'E/S disque : iostat -x 1
  • Statistiques des connexions réseau : ss -tulpn

5.3 Stratégie de Gestion des Instantanés (Snapshots)

Il est recommandé de prendre des instantanés VMware à des moments clés :

  • Après l'installation initiale du système d'exploitation.
  • Avant l'installation ou la configuration de logiciels majeurs.
  • Avant toute mise à jour importante du système.

Exemples de noms d'instantanés : "Installation_Initiale_20240615", "Avant_Config_Nginx", "Post_MiseAJour_Securite".

  1. Techniques de Configuration Avancées

6.1 Configuration des Dossiers Partagés

Pour partager des fichiers entre l'hôte et la machine virtuelle :

  1. Configurez un dossier partagé dans les paramètres de la VM VMware.
  2. Installez les VMware Tools sur la VM : ``` sudo apt install -y open-vm-tools
  3. Montez le répertoire partagé : ``` sudo mount -t fuse.vmhgfs-fuse .host:/repertoire_partage /media/vm_shares -o uid=1000,gid=1000,allow_other
    
    

6.2 Configuration d'une Adresse IP Statique

Pour un environnement nécessitant une IP fixe, modifiez la configuration réseau via Netplan :

sudo nano /etc/netplan/50-cloud-init.yaml

Ajoutez ou modifiez le contenu comme suit (adaptez à votre réseau) :

network:
 version: 2
 renderer: networkd
 ethernets:
   ens160: # Adaptez le nom de l'interface si différent (ex: eth0, enp0s3)
     dhcp4: no
     addresses: [192.168.10.150/24]
     gateway4: 192.168.10.1
     nameservers:
       addresses: [9.9.9.9, 1.1.1.1]

Appliquez la nouvelle configuration :

sudo netplan apply

6.3 Fuseau Horaire et Synchronisation

Définissez le fuseau horaire correct :

sudo timedatectl set-timezone Europe/Paris

Installez le service NTP pour une synchronisation horaire précise :

sudo apt install -y ntp
sudo systemctl enable --now ntp
  1. Mise en Place Rapide d'un Environnement de Développement

7.1 Chaîne d'Outils de Développement Essentielle

Installez les outils de base :

sudo apt install -y git build-essential python3-dev

7.2 Configuration de l'Environnement Docker

  1. Installez Docker : ``` sudo apt install -y docker.io sudo systemctl enable --now docker
  2. Ajoutez votre utilisateur au groupe docker pour éviter d'utiliser sudo constamment : ``` sudo usermod -aG docker $USER
  3. Configurez un miroir de registre Docker pour accélérer les téléchargements d'images : ``` sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] } EOF sudo systemctl restart docker
    
    

7.3 Environnement Virtuel Python

Créez des environnements Python isolés pour vos projets :

python3 -m venv ~/projets/mon_app_env
source ~/projets/mon_app_env/bin/activate

Étiquettes: VMware Ubuntu Server SSH Netplan Docker

Publié le 29 juillet à 06h26