Setup d’un VPS (Debian)
Objectif
Cette documentation décrit les étapes essentielles pour sécuriser, configurer et préparer une machine dédié à l’usage (notamment pour déployer des apps avec Docker).
Création d’un utilisateur non-root avec sudo
adduser julick
usermod -aG sudo julick
Connexion avec votre nouvel utilisateur
Une fois créé, connectez-vous avec :
ssh julick@<IP_DU_SERVEUR>
Ajout de votre clé SSH pour une connexion sans mot de passe
Créez une clé SSH sur votre machine locale (si vous n’en avez pas déjà une) :
ssh-keygen -t rsa -b 4096`
Emplacement de la clé
Par défaut, la clé est créée dans ~/.ssh/id_rsa.pub
.
Copiez la clé publique sur le serveur en l'ajoutant au fichier ~/.ssh/authorized_keys
:
sudo mkdir -p ~/.ssh
sudo chmod 700 ~/.ssh
sudo nano ~/.ssh/authorized_keys
Pare-feu UFW
Installation et activation
sudo apt update
sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
Vérification
sudo ufw status
Ports supplémentaires
Ajoutez les ports nécessaires à vos services :
sudo ufw allow 80 # HTTP
sudo ufw allow 443 # HTTPS
sudo ufw allow 2222 # GitLab SSH custom port
Installation de Docker
Avant d'installer Docker, selon l'os sur lequel vous êtes il est important de desinstaller les anciennes versions de Docker avec cette commande :
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
Ensuite vous pouvez ajouter la clé GPG officielle de docker en effectuant les commandes suivantes une par une :
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
Ajoutez le dépôt Docker :
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Mettez à jour et installez :
sudo apt update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Vérifiez :
docker --version
docker compose version
Ajoutez votre utilisateur au groupe Docker pour qu’il puisse exécuter Docker sans sudo :
sudo usermod -aG docker $USER
newgrp docker