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) |
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.baketsystemctl reload sshd - Port oublié :
grep ^Port /etc/ssh/sshd_configvia la console - Support : joignez la sortie de
sshd -tet les 20 dernières lignes dejournalctl -u ssh