1. C'est quoi un VPS exactement ?

Un VPS (Virtual Private Server) est un serveur informatique dédié à vous, hébergé dans un datacenter. Contrairement à un hébergement mutualisé où vous partagez les ressources avec des centaines d'autres sites, votre VPS vous donne le contrôle total : vous choisissez ce que vous installez, vous gérez les ressources, vous décidez de la configuration.

Concrètement, votre VPS tourne 24h/24 dans le datacenter CroustyCloud, avec une adresse IP fixe accessible depuis n'importe où dans le monde. Vous l'administrez à distance depuis votre ordinateur via SSH.

2. SSH : la porte d'entrée de votre serveur

SSH (Secure Shell) est le protocole qui vous permet de vous connecter à votre VPS depuis votre ordinateur. C'est une connexion chiffrée - personne ne peut intercepter vos commandes ou votre mot de passe.

Après la livraison de votre VPS, vous recevez un e-mail avec :

  • L'adresse IP de votre serveur (ex: 92.168.1.45)
  • Votre identifiant (généralement root)
  • Votre mot de passe temporaire

Ouvrez un terminal sur votre machine :

  • Windows : ouvrez le menu Démarrer, cherchez "Windows Terminal" ou "PowerShell"
  • macOS : Applications → Utilitaires → Terminal
  • Linux : Ctrl+Alt+T

Puis connectez-vous :

bash
ssh root@VOTRE-IP-VPS

Remplacez VOTRE-IP-VPS par l'adresse IP reçue par e-mail. SSH vous demande de confirmer l'identité du serveur :

bash
The authenticity of host '92.168.1.45' can't be established. ECDSA key fingerprint is SHA256:xxxxxxxxxxxx. Are you sure you want to continue connecting (yes/no)?

Tapez yes puis Entrée, puis entrez votre mot de passe. Le curseur ne bouge pas pendant la saisie du mot de passe - c'est normal, c'est une mesure de sécurité.

💡

Vous êtes maintenant connecté à votre VPS. Tout ce que vous tapez s'exécute sur le serveur distant, pas sur votre ordinateur. Pour quitter à tout moment, tapez exit.

3. Première chose : mettre à jour le système

Avant de faire quoi que ce soit, mettez le système à jour. C'est comme les mises à jour Windows mais pour Linux - elles corrigent des failles de sécurité importantes.

bash
apt update && apt upgrade -y

Que font ces commandes ?

  • apt update : télécharge la liste des mises à jour disponibles
  • apt upgrade -y : installe toutes les mises à jour (le -y répond "oui" automatiquement)

Cela peut prendre quelques minutes. Vous verrez défiler du texte - c'est normal.

⚠️

Ne fermez pas la connexion SSH pendant la mise à jour. Si une fenêtre vous demande de choisir entre "keep the local version" et "install the package maintainer's version", appuyez sur Entrée pour garder le choix par défaut.

4. Créer un utilisateur non-root

root est le compte administrateur absolu sous Linux. Il peut tout faire, y compris supprimer tout le système d'un coup. Travailler en root au quotidien est risqué - une erreur de commande peut avoir des conséquences irréversibles.

La bonne pratique : créer un utilisateur normal avec des droits d'administration limités (sudo).

bash
adduser votre-prenom

Le système vous pose plusieurs questions. Entrez un mot de passe solide (retenez-le !) et appuyez sur Entrée pour les autres champs (nom complet, etc.).

Maintenant donnez-lui les droits administrateur :

bash
usermod -aG sudo votre-prenom

Vérifiez que ça fonctionne :

bash
su - votre-prenom sudo whoami

Le résultat doit afficher root. Si c'est le cas, revenez au compte root :

bash
exit

5. Sécuriser SSH

Par défaut, SSH utilise le port 22 et autorise la connexion root directe avec un mot de passe. C'est la configuration que tous les bots d'attaque testent en premier. On va changer ça.

bash
nano /etc/ssh/sshd_config

nano est un éditeur de texte en ligne de commande. Les flèches du clavier permettent de naviguer. Trouvez et modifiez (ou ajoutez) ces lignes :

bash
Port 2222 PermitRootLogin no PasswordAuthentication no MaxAuthTries 3 ClientAliveInterval 300

Explication de chaque option :

  • Port 2222 : change le port SSH (les bots testent le 22 en priorité)
  • PermitRootLogin no : interdit la connexion directe en root
  • PasswordAuthentication no : oblige l'utilisation de clés SSH (plus sécurisé)
  • MaxAuthTries 3 : bloque après 3 tentatives échouées
  • ClientAliveInterval 300 : déconnecte les sessions inactives après 5 minutes

Sauvegardez : Ctrl+X, puis Y, puis Entrée.

🚨

Avant d'appliquer ces changements, ouvrez une DEUXIÈME fenêtre de terminal et connectez-vous avec votre nouvel utilisateur sur le port 2222 pour vérifier que tout fonctionne. Si vous fermez la session actuelle sans avoir vérifié, vous risquez de vous retrouver bloqué hors de votre serveur.

Appliquez les changements :

bash
systemctl restart sshd

Dorénavant, pour vous connecter :

bash
ssh -p 2222 votre-prenom@VOTRE-IP-VPS

6. Configurer le pare-feu UFW

UFW (Uncomplicated Firewall) contrôle quelles connexions entrent et sortent de votre serveur. Par défaut, on bloque tout et on ouvre seulement ce dont on a besoin.

bash
# Autoriser votre nouveau port SSH (obligatoire avant d'activer UFW !) ufw allow 2222/tcp # Autoriser le web ufw allow http ufw allow https # Activer le pare-feu ufw enable # Vérifier l'état ufw status
🚨

N'oubliez pas d'autoriser le port 2222 AVANT d'activer UFW. Sinon vous serez bloqué hors de votre serveur.

7. Récapitulatif : ce que vous avez fait

  • ✅ Connexion SSH sécurisée
  • ✅ Système à jour
  • ✅ Utilisateur non-root créé
  • ✅ SSH durci (port changé, root bloqué)
  • ✅ Pare-feu UFW actif

Votre VPS est maintenant sécurisé et prêt. Les prochaines étapes dépendent de votre projet : installer Docker, déployer une app Node.js, créer un serveur de jeu ou configurer un site web avec Nginx.