Retourner sur le site

Sécuriser SSH

Durcissez le démon SSH sur votre VPS : port personnalisé, clés uniquement, limites de tentatives et désactivation du login root.

Sécuriser SSH

Le service OpenSSH est la porte d'entrée principale de votre VPS Linux HolyCloud. Ce guide applique les réglages recommandés en production : changement de port, authentification par clé, refus du root et limitation des échecs d'authentification.

Prérequis

  • Accès sudo ou root sur le VPS (utilisateur dédié recommandé — voir le tutoriel « Créer un utilisateur sudo »)
  • Clé SSH déjà déployée pour votre utilisateur admin
  • Deux sessions SSH ou accès console (VNC) HolyCloud en secours
  • Si vous changez le port SSH : ouvrez le nouveau port dans UFW ou le pare-feu du panneau HolyCloud avant de recharger sshd

Étape 1 : sauvegarde de la configuration

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.$(date +%F)
sudo sshd -t

sshd -t valide la syntaxe sans redémarrer le service.

Étape 2 : modifier sshd_config

sudo nano /etc/ssh/sshd_config

Paramètres cibles (décommentez ou ajoutez) :

Port 2222
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3

| Directive | Rôle |

|-----------|------|

| Port | Réduit le bruit des scans automatiques sur le port 22 (choisissez 1024–65535, ex. 2222) |

| PermitRootLogin no | Interdit la connexion directe en root |

| PasswordAuthentication no | Force l'usage des clés SSH |

| PubkeyAuthentication yes | Active l'authentification par clé publique |

| MaxAuthTries 3 | Limite les tentatives par session |

Optionnel mais utile :

AllowUsers admin

Remplacez admin par votre utilisateur sudo.

Étape 3 : autoriser le nouveau port (pare-feu)

Avec UFW :

sudo ufw allow 2222/tcp comment 'SSH custom'
sudo ufw status numbered

Dans l'espace client HolyCloud, vérifiez qu'aucune règle réseau externe ne bloque ce port.

Étape 4 : appliquer et tester

sudo sshd -t && sudo systemctl reload sshd

Sans fermer l'ancienne session, connectez-vous sur le nouveau port :

ssh -p 2222 admin@VOTRE_IP_VPS

Mettez à jour ~/.ssh/config sur votre poste :

Host holycloud-vps
    HostName VOTRE_IP_VPS
    User admin
    Port 2222
    IdentityFile ~/.ssh/id_ed25519

Étape 5 : retirer l'ancien port (optionnel)

Après validation :

sudo ufw delete allow 22/tcp
sudo ufw reload

Vérification

sudo ss -tlnp | grep sshd
grep -E '^(Port|PermitRootLogin|PasswordAuthentication|PubkeyAuthentication|MaxAuthTries)' /etc/ssh/sshd_config

Test négatif (depuis un autre poste) : ssh root@IP et ssh -o PreferredAuthentications=password doivent échouer.

Consultez les tentatives suspectes :

sudo journalctl -u ssh -n 30 --no-pager

Besoin d'aide HolyCloud

  • Verrouillé hors du VPS : utilisez la console KVM/VNC depuis l'espace client, restaurez sshd_config.bak et systemctl reload sshd
  • Port oublié : grep ^Port /etc/ssh/sshd_config via la console
  • Support : joignez la sortie de sshd -t et les 20 dernières lignes de journalctl -u ssh