ITSkillsCenter
Cybersécurité

Tailscale SSH bastion VPS : tutoriel sécurité 2026

3 دقائق للقراءة

L’une des meilleures pratiques sécurité 2026 pour un VPS : fermer le port 22 sur l’IP publique et n’autoriser SSH que depuis votre tailnet Tailscale. Plus aucun brute-force possible, plus de scan de port qui réussit, plus de risque de fuite de credentials. Tailscale SSH va même plus loin en remplaçant l’authentification clef par identité utilisateur. Voici le tutoriel complet.

Voir notre guide Tailscale.

Architecture recommandée

Trois approches possibles, du plus simple au plus sophistiqué :

  1. SSH classique restreint au tailnet : OpenSSH écoute uniquement sur l’IP Tailscale du VPS. Authentification par clef SSH classique.
  2. Tailscale SSH : remplace OpenSSH par le serveur Tailscale qui authentifie via identité Tailscale (Google/GitHub/SSO).
  3. Bastion central : un seul VPS « jump host » en tailnet, tous les autres VPS accessibles uniquement depuis le bastion.

Recommandation : approche 2 (Tailscale SSH) pour la simplicité, ou 3 (bastion) pour les architectures avec strict audit.

Approche 2 : Tailscale SSH

Étape 1 — Activer sur le VPS

# Sur le VPS
sudo tailscale up --ssh

# Vérifier
tailscale status

Étape 2 — Connecter depuis votre laptop

# Via tailscale CLI
tailscale ssh user@web-prod-01

# Ou via SSH classique (Tailscale gère le port)
ssh user@web-prod-01

# Avec hostname court (Magic DNS)
ssh deploy@web-prod-01.tailnet-name.ts.net

L’authentification se fait par votre identité Tailscale. Plus besoin de copier des clefs publiques sur chaque VPS.

Étape 3 — Restreindre OpenSSH au tailnet

# Trouver l'IP tailscale du VPS
ip a show tailscale0
# inet 100.x.y.z/32

# Modifier /etc/ssh/sshd_config
ListenAddress 100.x.y.z
# Et supprimer/commenter les autres ListenAddress

systemctl restart ssh

# Vérifier que SSH n'écoute plus sur l'IP publique
ss -tlnp | grep :22

Étape 4 — Fermer port 22 sur Hetzner Firewall

  1. Console Hetzner Cloud → Firewalls
  2. Éditer la règle entrante TCP 22 → la supprimer
  3. Sauvegarder

Désormais le port 22 est inaccessible depuis Internet. SSH n’est joignable que via Tailscale.

Approche 3 : Bastion central

Pour une infrastructure avec 5-10+ VPS, un bastion centralise les accès :

# Architecture
laptop --(tailscale)--> bastion --(tailscale ou réseau privé)--> web/db/etc

# Bastion : Tailscale + ACL stricte
sudo tailscale up --ssh --hostname=bastion --advertise-tags=tag:bastion

# Web servers : Tailscale, ACL n'autorise que tag:bastion comme source SSH
sudo tailscale up --advertise-tags=tag:web

Configurez les ACLs (voir notre tutoriel ACLs) pour que seul le bastion puisse SSH vers les autres VPS.

Audit log SSH

Tailscale enregistre toutes les sessions SSH dans le dashboard (Logs → SSH). Vous voyez : qui s’est connecté, depuis quel device, à quel hôte, quand, durée. Pratique pour conformité et détection d’anomalies.

Recovery en cas de panne Tailscale

Tailscale est un service externe. Que faire si login.tailscale.com est down ?

  • Les nœuds déjà connectés restent connectés (peer-to-peer)
  • Les nouvelles connexions ne marchent pas pendant la panne
  • Mitigation : garder un accès « break-glass » — par exemple console KVM Hetzner, ou un compte SSH local sur une IP whitelistée temporaire
  • Alternative : Headscale (auto-hébergé) — voir tutoriel

Adaptation Afrique de l’Ouest

Pour une équipe distribuée Sénégal/CI/Mali avec VPS Hetzner européens, Tailscale SSH bastion supprime totalement le risque de brute-force depuis les bots qui scannent en permanence vos IPs publiques. La latence ajoutée est minime (~10-20 ms vs SSH direct).

Erreurs fréquentes

ErreurCauseSolution
SSH lockout après fermeture portTailscale pas encore actif côté laptopConsole KVM Hetzner pour rouvrir temporairement
Tailscale SSH refuse connection–ssh pas activétailscale up –ssh
OpenSSH n’écoute plusListenAddress mauvaise IPVérifier ip a show tailscale0
« Permission denied » via Tailscale SSHACLs mal configuréesVérifier policy ssh dans tailnet ACLs

Pour aller plus loin

Besoin d'un site web ?

Confiez-nous la Création de Votre Site Web

Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.

À partir de 250.000 FCFA
Parlons de Votre Projet
Publicité