3 votes

La connexion SSH est interrompue, elle fonctionnait il y a un jour.

Voici la situation. SSH fonctionnait parfaitement jusqu'à il y a un jour. Je n'ai rien fait d'extraordinaire. J'ai pu me connecter à mon serveur avec putty, utiliser git via ssh, etc.

Mais maintenant, je ne peux plus rien faire de tout cela. L'erreur est persistante et commune à tous les clients SSH et périphériques que j'utilise (putty, git bash, cmder, etc). L'erreur est bien sûr un dépassement de délai de connexion. Voici ce que j'ai essayé jusqu'à présent.

  • ssh -vvv mydomain.com ne renvoie rien d'utile, juste la même erreur après un tas de choses inutiles.
  • J'ai essayé de désactiver le pare-feu de Windows (Duh). Pas de gâteau.
  • J'ai vérifié que mon serveur fonctionne toujours sur :22. La connexion Git à bitbucket ne fonctionne plus non plus.
  • J'ai essayé sur un autre appareil (mon ordinateur portable). La connexion est toujours interrompue. (Le système d'exploitation n'est donc probablement pas en cause).
  • J'ai essayé de réinitialiser le routeur. Pas de gâteau.
  • Le changement de connexion internet fait disparaître le problème.

Peut-être le fournisseur d'accès a-t-il bloqué le port 22 ? Pourtant, il fonctionnait hier. Comment puis-je m'assurer que le problème vient bien du fournisseur d'accès ?

1voto

moonpoint Points 4880

Il serait inhabituel qu'un FAI bloque la connectivité SSH sortante, c'est-à-dire les connexions sortantes avec un port de destination de TCP port 22, mais vous pouvez le tester à partir de l'un des systèmes clients, par exemple en utilisant la fonction PuTTY pour tenter de se connecter au port 22 à portquiz.net ; le serveur portquiz.net écoute sur tous les ports TCP, ce qui vous permet de tester n'importe quel port TCP sortant. Le serveur portquiz devrait vous demander votre nom d'utilisateur et votre mot de passe.

Vous avez indiqué que vous ne pensiez pas qu'il y ait un problème au niveau du serveur, puisque vous pouvez vous connecter au serveur SSH à partir d'un autre endroit. Étant donné que les logiciels pare-feu peuvent bloquer des adresses IP spécifiques ou des plages d'adresses, vous devriez vérifier qu'ils ne bloquent pas l'adresse IP attribuée à vos systèmes par votre fournisseur d'accès à Internet ; vous pouvez consulter le site suivant www.whatismyip.com pour déterminer l'adresse IP externe qui vous est actuellement attribuée. Si le serveur utilise iptables pour les fonctions de pare-feu, voir Comment lister et supprimer les règles de pare-feu d'Iptables .

En général, on ne s'attend pas à ce qu'un blocage de pare-feu soit mis en place sans que vous le demandiez spécifiquement, mais si le serveur fonctionne avec Fail2ban ou d'autres similaires système de détection d'intrusion (IDS) Si, par inadvertance, vous vous êtes trompé plusieurs fois dans la saisie de vos identifiants de connexion lors d'une tentative de connexion par SSH, il est même possible que votre adresse IP ait été interdite de connexions SSH sur le serveur, même si cette interdiction n'est peut-être que temporaire. Si le serveur utilise Fail2ban, vérifier son fichier journal , probablement à /var/log/fail2ban.log ; si l'adresse est là, vous pouvez débanaliser l'adresse IP .

Avez-vous accès au serveur à partir des systèmes clients sur d'autres ports ? Par exemple, si le serveur fonctionne comme un serveur web, pouvez-vous vous connecter au port 80 et/ou 443 à partir des systèmes clients ? Ou le port 25, s'il fonctionne comme un serveur de courrier électronique. Pouvez-vous ping le serveur à partir des systèmes clients ? Si vous n'avez pas accès à d'autres ports alors que vous vous attendriez à avoir un tel accès, si votre adresse IP n'est pas bloquée sur le serveur, il y a peut-être un problème de connectivité réseau entre votre fournisseur d'accès et le serveur.

Wireshark est un outil très utile pour résoudre les problèmes de connectivité. Il est gratuit et disponible pour une variété de systèmes d'exploitation, y compris Microsoft Windows. Vous pouvez l'installer sur l'un des systèmes clients et observer le trafic réseau entre vos systèmes et le serveur. Il peut capturer et afficher tout le trafic réseau entre le système sur lequel il est exécuté et d'autres systèmes ; pour isoler uniquement le trafic entre le système client et le serveur, vous pouvez configurer Wireshark pour qu'il filtre par numéro de port, par exemple 22, ou par adresse IP . Il existe également un outil en ligne de commande, WinDump qui est l'équivalent de l'expression couramment utilisée tcpdump sur les systèmes Linux, mais comme Wireshark offre une interface utilisateur graphique (GUI), il sera plus facile d'analyser le trafic à l'aide de cet utilitaire. Avec un analyseur de paquets, tel que Wireshark, vous pouvez déterminer si le système client voit des paquets provenant du serveur ou si le trafic est à sens unique, c'est-à-dire du client vers le serveur.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X