Blog · Sécurité et sauvegardes

SSH bloqué : comment reprendre la main sur son serveur

Connexion SSH refusée ou qui ne répond plus ? Diagnostic en 3 messages d'erreur, puis comment reprendre la main grâce à la console navigateur.

Sécurité et sauvegardes6 min de lecture

Si vous ne pouvez plus vous connecter en SSH, ne paniquez pas : ouvrez la console de votre serveur depuis l'espace client PassRoyal. Elle passe par la machine elle-même et non par le réseau, donc un pare-feu mal réglé ou un service SSH arrêté ne vous empêche pas d'y accéder. Une fois dans la console, quelques vérifications suffisent presque toujours à rouvrir la porte.

Voici la méthode complète, du diagnostic à la prévention.

SSH en deux mots

SSH (« Secure Shell ») est le moyen habituel de piloter un serveur Linux à distance : vous tapez des commandes sur votre ordinateur, elles s'exécutent sur le serveur, et le tout passe par une connexion chiffrée.

Pour que cela fonctionne, trois conditions doivent être réunies :

  1. le service SSH doit tourner sur le serveur ;
  2. le réseau doit laisser passer la connexion, notamment le pare-feu ;
  3. vous devez être reconnu, avec le bon mot de passe ou la bonne clé.

Quand l'une des trois manque, la porte reste fermée. Le message d'erreur vous dit généralement laquelle.

Étape 1 : lire le message d'erreur

Avant de toucher à quoi que ce soit, regardez attentivement ce que répond votre ordinateur. Les trois messages les plus fréquents pointent chacun vers une cause différente.

MessageCe qu'il veut direCause probable
« Connection timed out »Personne ne répondPare-feu qui bloque, mauvaise adresse IP, serveur arrêté
« Connection refused »Le serveur répond, mais refuseService SSH arrêté, ou SSH écoute sur un autre port
« Permission denied »La porte est ouverte, mais vous n'êtes pas reconnuMauvais mot de passe, mauvaise clé, mauvais utilisateur

Vérifiez aussi les évidences, sans honte : la bonne adresse IP, le bon nom d'utilisateur, le bon port. Une faute de frappe dans l'adresse a déjà fait perdre des heures à des administrateurs chevronnés.

Étape 2 : ouvrir la console depuis l'espace client

C'est votre porte de service. Dans votre espace client PassRoyal, ouvrez votre serveur et lancez la console. Elle s'affiche directement dans votre navigateur.

Son grand avantage : elle ne passe pas par le réseau du serveur, mais par la machine elle-même. C'est comme avoir un écran et un clavier branchés directement dessus. Même si le pare-feu bloque tout, même si SSH est arrêté, la console fonctionne.

Connectez-vous avec votre utilisateur et votre mot de passe. Si vous avez oublié le mot de passe, vous pouvez en définir un nouveau depuis l'espace client : c'est l'une des actions disponibles, avec le redémarrage, l'arrêt et le démarrage du serveur.

[CAPTURE : la console d'un serveur ouverte dans le navigateur depuis l'espace client PassRoyal]

Étape 3 : vérifier que le service SSH tourne

Sur la plupart des distributions Linux, cette commande indique l'état du service :

sudo systemctl status ssh

Selon le système, le service peut aussi s'appeler « sshd ». Si le service est arrêté ou en erreur, essayez de le redémarrer :

sudo systemctl restart ssh

Si le redémarrage échoue, c'est souvent qu'une modification récente du fichier de configuration contient une erreur. Cette commande vérifie la configuration et indique la ligne fautive :

sudo sshd -t

Corrigez la ligne signalée, puis relancez le service.

Étape 4 : vérifier le pare-feu

Un pare-feu (le logiciel qui filtre les connexions entrantes) mal réglé est la cause numéro un du message « Connection timed out ». Le scénario classique : on active le pare-feu, on oublie d'autoriser SSH, et la connexion en cours se coupe net.

Si votre serveur utilise UFW, l'outil de pare-feu simplifié courant sur Ubuntu et Debian, affichez les règles :

sudo ufw status

Si SSH n'apparaît pas dans la liste des connexions autorisées, ajoutez-le :

sudo ufw allow OpenSSH

Si vous avez déplacé SSH sur un autre port, autorisez ce port précis à la place. Testez ensuite la connexion depuis votre ordinateur avant de fermer la console.

Étape 5 : vérifier que votre adresse n'est pas bannie

Beaucoup de serveurs utilisent un outil comme Fail2ban, qui bannit automatiquement les adresses IP après plusieurs tentatives de connexion ratées. Excellent contre les robots, un peu moins quand c'est vous qui vous êtes trompé de mot de passe trois fois de suite.

Pour voir les adresses bannies :

sudo fail2ban-client status sshd

Pour lever le bannissement de votre adresse :

sudo fail2ban-client set sshd unbanip VOTRE_ADRESSE_IP

Remplacez « VOTRE_ADRESSE_IP » par l'adresse publique de votre connexion Internet.

Étape 6 : régler les problèmes d'identification

Si le message est « Permission denied », la porte est ouverte mais vous n'êtes pas reconnu. Vérifiez dans l'ordre :

  1. le nom d'utilisateur utilisé dans votre commande de connexion ;
  2. la clé SSH : est-ce la bonne, et sa partie publique figure-t-elle bien dans le fichier « authorized_keys » de l'utilisateur sur le serveur ?
  3. les droits sur le dossier « .ssh », qui doivent être restrictifs, sinon SSH refuse la clé par sécurité ;
  4. la configuration de SSH : si vous avez désactivé la connexion par mot de passe, seule une clé valide fonctionnera.

Depuis la console, vous pouvez corriger chacun de ces points, ou définir un nouveau mot de passe via l'espace client si c'est lui qui pose problème.

Un cas réel, de bout en bout

Prenons Karim, développeur indépendant à Rabat. Un vendredi soir, il active le pare-feu de son serveur pour « faire propre » avant le week-end. Sa session SSH se fige. Il tente de se reconnecter : « Connection timed out ».

Voici ce qu'il fait, dans l'ordre :

  1. Il lit le message : un délai dépassé, donc probablement le pare-feu.
  2. Il ouvre la console dans son navigateur, depuis l'espace client, et se connecte.
  3. Il lance « sudo ufw status » : seuls les ports du site web sont autorisés, SSH a été oublié.
  4. Il ajoute la règle avec « sudo ufw allow OpenSSH ».
  5. Depuis son ordinateur, il teste une nouvelle connexion SSH : elle fonctionne.

Durée totale : moins de dix minutes, et un week-end sauvé. Sans console, il aurait dû attendre de l'aide.

Et si rien ne répond du tout ?

Si la console elle-même ne montre rien d'utile, ou si le serveur semble figé, utilisez le bouton de redémarrage dans l'espace client. Un redémarrage suffit parfois à relancer un service bloqué ou à libérer une mémoire saturée.

Si le problème persiste, ouvrez un ticket depuis l'espace client en décrivant le message d'erreur exact et ce que vous avez déjà essayé. Gardez en tête que PassRoyal exploite la machine et le réseau : la configuration de vos logiciels reste entre vos mains, mais le support peut vous aider à y voir clair.

Éviter que cela se reproduise

Quelques habitudes simples évitent la plupart des blocages :

  • Gardez toujours une session ouverte quand vous modifiez la configuration de SSH ou du pare-feu, et testez une nouvelle connexion dans une autre fenêtre avant de fermer la première.
  • Autorisez SSH avant d'activer le pare-feu, jamais après.
  • Vérifiez la configuration avec « sshd -t » avant chaque redémarrage du service.
  • Notez dans un document le port SSH, l'utilisateur et l'emplacement de vos clés.
  • Gardez une copie de votre clé privée en lieu sûr, protégée par une phrase de passe.

Questions fréquentes

La console fonctionne-t-elle si le pare-feu bloque tout ?

Oui. La console passe par la machine elle-même, pas par le réseau. Un pare-feu mal réglé ne vous enferme pas dehors.

J'ai oublié mon mot de passe, que faire ?

Changez-le depuis votre espace client PassRoyal, puis connectez-vous avec le nouveau mot de passe, par la console ou en SSH.

Faut-il changer le port SSH par défaut ?

Cela réduit le bruit des robots qui testent le port habituel, mais ce n'est pas une vraie protection. Une authentification par clé et un outil comme Fail2ban sont plus efficaces.

Besoin d'aide ?

Vous trouverez d'autres réponses sur la gestion de votre serveur dans notre foire aux questions.

Envie de mettre votre projet en ligne ?

Des serveurs prêts à utiliser, à partir de 160 DH HT par mois.

SSH bloqué : reprendre la main sur son serveur | PassRoyal