OVH VPS-1 Debian 12 xoyaz.xyz
vps-1780de45.vps.ovh.net
4 vCPU Cores
8 Go RAM
75 Go SSD NVME
1 Backup auto
Location: Gravelines
IP: 51.38.37.240
IPv6: 2001:41d0:305:2100::c1c
OS: Debian 12
OVH VPS-1
Première connexion
Après avoir récupére le mot de passe sur sur le site OVH
Se connecter utilisateur debian via SSH
1
ssh debian@51.38.37.240
Modifier le mot de passe root
1
2
3
sudo -s
passwd
exit
Mise à jour
1
sudo apt update && sudo apt upgrade -y
Quelques outils
1
apt install rsync curl tmux jq figlet git tree -y
Date et heure + Synchro
Activer le fuseau Europe/Paris
1
sudo timedatectl set-timezone Europe/Paris
Horloge système synchronisée : timedatectl
1
2
3
4
5
6
7
Local time: Fri 2025-09-05 08:47:05 CEST
Universal time: Fri 2025-09-05 06:47:05 UTC
RTC time: Fri 2025-09-05 06:47:05
Time zone: Europe/Paris (CEST, +0200)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Reconfigurer locales
Activer uniquement en_US.UTF-8 et fr_FR.UTF-8
1
dpkg-reconfigure locales
Default fr_FR.UTF-8
1
2
3
4
Generating locales (this might take a while)...
en_US.UTF-8... done
fr_FR.UTF-8... done
Generation complete.
Motd
Motd
1
rm /etc/motd && nano /etc/motd
1
2
3
4
5
6
7
8
9
10
11
12
___ __ __ _ _ __ __ ___ ___ _
/ _ \\ \ / /| || | \ \ / /| _ \/ __| ___ / |
| (_) |\ V / | __ | \ V / | _/\__ \|___|| |
\___/ \_/ |_||_| \_/ |_| |___/ |_|
___ _ _ _ ___
| \ ___ | |__ (_) __ _ _ _ / ||_ )
| |) |/ -_)| '_ \| |/ _` || ' \ | | / /
|___/ \___||_.__/|_|\__,_||_||_| |_|/___|
___ _ ____ ___ ____ ____ ___ _ _ __
| __|/ | |__ /( _ ) |__ /|__ | |_ )| | | / \
|__ \| | _ |_ \/ _ \ _ |_ \ / /_ / / |_ _|| () |
|___/|_|(_)|___/\___/(_)|___/ /_/(_)/___| |_| \__/
Utilisateur yanic
Pour modifier le nom d’utilisateur “debian”, il faut se connecter en root
On va modifier la configuration du serveur sshd
1
2
3
4
5
6
7
sudo -s
# autoriser la connexion ssh root
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config.d/50-cloud-init.conf
# recharger le serveur sshd
sudo systemctl restart sshd
# sortie
exit
Se déconnecter de la session SSH en cours
Se connecter en root via SSH
Changer nom et groupe de l’utilisateur debian id 1000
1
2
3
4
5
6
# pour changer le nom d'utilisateur debian en yanic
usermod -l yanic debian
# Modification du répertoire de base par défaut
usermod -m -d /home/yanic yanic
# renommer le groupe principal
groupmod -n yanic debian
Modifier les accès sudo en remplaçant debian par yanic
1
2
# autoriser écriture
chmod 640 /etc/sudoers.d/90-cloud-init-users
Après modification /etc/sudoers.d/90-cloud-init-users
1
2
3
4
# Created by cloud-init v. 22.4.2 on Tue, 01 Apr 2025 12:48:49 +0000
# Modified by yanic 04 Sept 2025 10:15
# User rules for yanic
yanic ALL=(ALL) NOPASSWD:ALL
Modifier le paramétrage SSH pour interdire la connexion root
Supprimer la ligne PermitRootLogin yes
dans le fichier /etc/ssh/sshd_config.d/50-cloud-init.conf
Redémarrer le serveur sshd: systemctl restart sshd
Se déconnecter de la session ssh root
OpenSSH, clé et script
connexion avec clé
sur l'ordinateur de bureau
Générer une paire de clé curve25519-sha256 (ECDH avec Curve25519 et SHA2) pour une liaison SSH avec le serveur.
1
ssh-keygen -t ed25519 -o -a 100 -f ~/.ssh/vps-ovh-ed25519
Envoyer les clés publiques sur le serveur KVM
1
ssh-copy-id -i ~/.ssh/vps-ovh-ed25519.pub yanic@51.38.37.240
sur le serveur KVM On se connecte via SSH
1
ssh yanic@51.38.37.240
Modifier la configuration serveur SSH dans le VPS
1
sudo nano /etc/ssh/sshd_config.d/50-cloud-init.conf
Contenu
1
2
Port = 55240
PasswordAuthentication no
Relancer le serveur
1
sudo systemctl restart sshd
Test connexion
1
ssh -p 55240 -i ~/.ssh/vps-ovh-ed25519 yanic@51.38.37.240
Historique de la ligne de commande
Ajoutez la recherche d’historique de la ligne de commande au terminal Se connecter en utilisateur debian Tapez un début de commande précédent, puis utilisez shift + up (flèche haut) pour rechercher l’historique filtré avec le début de la commande.
1
2
3
# Global, tout utilisateur
echo '"\e[1;2A": history-search-backward' | sudo tee -a /etc/inputrc
echo '"\e[1;2B": history-search-forward' | sudo tee -a /etc/inputrc
Hostname
1
2
sudo hostnamectl set-hostname xoyaz.xyz
hostnamectl
Résultat
1
2
3
4
5
6
7
8
9
10
11
12
Static hostname: xoyaz.xyz
Icon name: computer-vm
Chassis: vm 🖴
Machine ID: e0cdfae1b8884977a07acb4570fd559d
Boot ID: 004a5cdecb9b42f9b020338899a86413
Virtualization: kvm
Operating System: Debian GNU/Linux 12 (bookworm)
Kernel: Linux 6.1.0-32-cloud-amd64
Architecture: x86-64
Hardware Vendor: OpenStack Foundation
Hardware Model: OpenStack Nova
Firmware Version: 1.16.3-debian-1.16.3-2~bpo12+1
Vérifier : hostname -f
–> xoyaz.xyz
Modifier le fichier hosts
1
sudo nano /etc/hosts
Remplacer vps-1780de45.vps.ovh.net
par xoyaz.xyz
1
127.0.1.1 xoyaz.xyz vps-1780de45
Redémarrer le VPS:
sudo systemctl reboot
Parefeu
Alternative: Configurer le pare-feu sous Linux avec Iptables
Installation UFW sur Debian / Ubuntu
1
sudo apt install ufw
Par défaut, nous allons refuser toutes les connexions entrantes (incoming)
1
sudo ufw default deny incoming
Les règles
1
2
3
# Pour autoriser un port personnalisé et correspondant à votre accès SSH
sudo ufw allow 55240/tcp # port SSH
sudo ufw allow https # port 443
Activer le parefeu
1
sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Vérifier : sudo ufw status
1
2
3
4
5
6
7
8
Status: active
To Action From
-- ------ ----
55240/tcp ALLOW Anywhere
443 ALLOW Anywhere
55240/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
Fail2ban
Fail2ban est un framework de prévention contre les intrusions dont le but est de bloquer les adresses IP depuis lesquelles des bots ou des attaquants tentent de pénétrer dans votre système. Ce paquet est recommandé, voire indispensable dans certains cas, pour protéger votre serveur des attaques de types Brute Force ou Denial of Service.
Installation
1
sudo apt install fail2ban
Vous pouvez personnaliser les fichiers de configuration Fail2ban pour protéger les services exposés à l’Internet public contre les tentatives de connexion répétées.
Comme le recommande Fail2ban, créez un fichier de configuration local de vos services en copiant le fichier “jail”
1
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Ouvrir /etc/fail2ban/jail.local
Les paramètres [DEFAULT]
sont globaux et s’appliqueront donc à tous les services définis pour être activés (enabled) dans ce fichier.
Il est important de savoir que les paramètres globaux ne seront pris en compte que s’il n’y a pas de valeurs différentes définies dans les sections services (JAILS) plus bas dans le fichier.
Prenons pour exemple ces lignes sous [DEFAULT]
1
2
3
bantime = 10m
maxretry = 5
enabled = false
Cela signifie qu’une adresse IP à partir de laquelle un hôte tente de se connecter sera bloquée pendant dix minutes après la cinquième tentative d’ouverture de session infructueuse.
De plus, tous les paramètres spécifiés par [DEFAULT]
et dans les sections suivantes restent désactivés sauf si la ligne enabled = true
est ajoutée pour un service (listée ci-dessous # JAILS
).
Modifier la section [sshd]
pour activer des restrictions uniquement pour le service OpenSSH :
1
2
3
4
5
6
7
[sshd]
enabled = true
port = 55240
filter = sshd
maxretry = 3
findtime = 5m
bantime = 30m
Si une tentative de connexion SSH échoue trois fois en cinq minutes, la période d’interdiction des IP sera de 30 minutes.
port = ssh
a été remplacé par le numéro de port réel –> port = 55240
Activer Fail2ban uniquement pour les services qui sont exécutés sur le serveur. Chaque paramètre personnalisé ajouté sous
# JAILS
sera alors prioritaire sur les valeurs par défaut.
Redémarrez le service pour la prise en compte
1
sudo systemctl restart fail2ban
OVH xoyaz.xyz
Zone DNS
Modifier les enregistrements DNS A et AAAA chez le fournisseur de domaine OVH
IP: 51.38.37.240
IPv6: 2001:41d0:305:2100::c1c
Zone DNS domaine xoyaz.xyz
1
2
3
4
5
6
7
8
$TTL 3600
@ IN SOA dns106.ovh.net. tech.ovh.net. (2025090503 86400 3600 3600000 300)
IN NS ns106.ovh.net.
IN NS dns106.ovh.net.
IN A 51.38.37.240
IN AAAA 2001:41d0:305:2100::c1c
* IN A 51.38.37.240
* IN AAAA 2001:41d0:305:2100::c1c
joker(*)
pour tous les sous-domaines
DNS Reverse
Pour modifier le DNS Reverse du VPS, se connecter sur le manager OVH
Vérifications
Caddy serveur
est un serveur web open source écrit en go proposant la mise en place de certificat SSL automatiquement
Informations
Si vous utilisez un Caddyfile, vous pouvez modifier votre configuration avec nano, vi ou votre éditeur préféré:
1
sudo nano /etc/caddy/Caddyfile
Vous pouvez placer vos fichiers statiques dans /var/www/html ou /srv. Assurez-vous que l’utilisateur de caddy a la permission de lire les fichiers.
Pour vérifier que le service fonctionne :
1
systemctl status caddy
La commande status affichera également l’emplacement du fichier de service en cours d’exécution.
Avec le fichier de service officiel, la sortie de Caddy sera redirigée vers journalctl. Pour lire tous vos journaux et éviter que les lignes ne soient tronquées :
1
journalctl -u caddy --no-pager | less +G
Si vous utilisez un fichier de configuration, vous pouvez recharger Caddy après avoir apporté des modifications :
1
sudo systemctl reload caddy
Vous pouvez arrêter le service avec:
1
sudo systemctl stop caddy
N’arrêtez pas le service pour changer la configuration de Caddy. Utilisez plutôt la commande recharger.
Le processus Caddy fonctionnera en tant qu’utilisateur Caddy, qui a son $HOME défini à /var/lib/caddy
. Cela signifie que:
- L’emplacement de stockage des données par défaut (pour les certificats et autres informations d’état) sera dans
/var/lib/caddy/.local/share/caddy
. - L’emplacement de stockage par défaut (pour la configuration JSON enregistrée automatiquement, principalement utile pour le service caddy-api) sera dans
/var/lib/caddy/.config/caddy
.
Installer caddy
1
2
3
4
5
6
7
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg
chmod o+r /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
Afficher version : caddy --version
v2.10.2 h1:g/gTYjGMD0dec+UgMw8SnfmJ3I9+M2TdvoRL/Ovu6U8=
L’installation de ce paquet démarre automatiquement et exécute Caddy comme un service système nommé Caddy.
Créer répertoire avec les droits
1
2
sudo mkdir -p /var/caddy/
sudo chown caddy:caddy /var/caddy/
Dossier xoyaz.xyz
1
sudo -u caddy mkdir -p /var/caddy/xoyaz.xyz
Le fichier /etc/caddy/Caddyfile
1
2
3
4
5
xoyaz.xyz {
root * /var/caddy/xoyaz.xyz
#encode gzip
file_server
}
Le fichier index.html
sudo -u caddy nano /var/caddy/xoyaz.xyz/index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>xoyaz.xyz</title>
<!--
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
-->
</head>
<body>
<!-- page content -->
<h1>Domaine xoyaz.xyz</h1>
</body>
</html>
recharger Caddy après les modifications :
1
sudo systemctl reload caddy
Lien https://xoyaz.xyz