Comment réparer l’erreur SSH « Connexion refusée » sous Linux.
SSH est une méthode réseau qui vous permet d’accéder en toute sécurité à un système distant et de le manipuler via un réseau. En vous connectant à un système distant via SSH, vous avez peut-être rencontré l’erreur « liaison refusée ». L’expérience de cette préoccupation peut être aggravante surtout si vous êtes un administrateur système et que vous devez exécuter certains travaux sur le système distant de manière urgente.
Jetons un coup d’œil à certaines des sources possibles d’obtention de l’erreur SSH « connexion refusée » et aussi des méthodes pour la régler.
1. Vérifiez si un serveur SSH est installé
Une des causes profondes faisables de l’erreur » connexion refusée » est que la machine distante n’exécute pas de serveur web SSH. Sans le serveur web SSH, l’équipement n’acceptera certainement pas les connexions SSH entrantes, et vous ne pourrez pas non plus y accéder depuis un autre emplacement.
Donc, l’étape extrêmement initiale dans le dépannage de l’erreur est d’examiner si un serveur web SSH est monté sur la machine distante. Faites usage de la commande suivante pour vérifier la configuration du serveur SSH :
Sur les distributions basées sur Debian :
Sur les distributions basées sur RHEL :
Sur openSUSE :
Sur les circulations basées sur Arch :
Si le serveur web SSH est configuré sur l’équipement distant, vous le verrez fourni dans la sortie. Ou bien, vous devez monter le serveur web OpenSSH sur le fabricant distant que vous voulez rendre accessible par SSH. OpenSSH est une variation open-source des outils SSH pour accéder et contrôler les systèmes à distance.
Pour monter le serveur web OpenSSH, utilisez les commandes suivantes :
Sur les circulations basées sur Debian :
Sur les circulations basées sur RHEL :
Sur openSUSE :
Sur les distributions basées sur Arch :
2. Examinez l’état du service SSH
Un autre facteur pour obtenir l’erreur » connexion refusée » peut être que le service SSH est handicapé ou fonctionne autrement sur la machine distante. Une fois que vous vous êtes assuré que le serveur web SSH est monté, le 2e point que vous devez examiner est l’état du serveur web.
Si le service est en place et fonctionne également, le résultat l’indiquera comme suit . actif (en cours d’exécution). Sinon, vous verrez certainement quelque chose comme inactif (mort).
Si le serveur web SSH n’est pas en cours d’exécution, vous pouvez le démarrer manuellement en utilisant la commande suivante :
Vous pouvez également activer le service pour qu’il démarre immédiatement au démarrage avec :
3. Vérifiez le port SSH
Par défaut, le serveur SSH fonctionne sur le port 22. Néanmoins, on peut transformer le port par défaut. Par conséquent, si vous recevez l’erreur SSH « lien refusé », cela peut être dû au fait que vous tentez de vous attacher au serveur SSH sur le port 22 par défaut alors qu’il fonctionne sur un autre port.
Vous pouvez utiliser la commande netstat avec grep pour localiser le port sur lequel le serveur SSH est attentif :
Vous pouvez également découvrir le port SSH à partir de la commande sshd _ config à l’aide de la commande suivante :
Après avoir identifié le port SSH approprié, essayez de vous connecter à votre système distant en utilisant ce port détaillé.
4. Inspectez le pare-feu de votre système.
La plupart des problèmes de connexion se produisent à cause du logiciel de pare-feu de votre machine qui obstrue certains ports ou services. Si le serveur web SSH est installé et fonctionne sur l’équipement distant, l’étape suivante consiste à inspecter votre logiciel de pare-feu.
Pour savoir si le pare-feu bloque la liaison, désactivez momentanément le logiciel de pare-feu en utilisant les commandes suivantes :
Sur les circulations Linux basées sur Debian et également Arch :
Sur les distributions basées sur RHEL ainsi que sur openSUSE :
Si l’erreur n’apparaît pas après avoir désactivé le pare-feu, cela signifie que le programme de pare-feu bloquait le lien. Dans cette situation, réactivez le programme de pare-feu et ajoutez également un règlement qui autorise SSH.
Sur les distributions Linux basées sur Debian et également Arch, faites usage de la commande suivante pour autoriser SSH dans le pare-feu UFW :
Alternativement, vous pouvez également autoriser SSH par le numéro de port dans le logiciel du pare-feu. Supposons que le serveur web SSH utilise le port 5555, vous utiliserez alors la commande suivante pour l’autoriser dans le programme du pare-feu :
Pour confirmer que la ligne directrice a été ajoutée efficacement, vérifiez la position de l’UFW :
Sur les distributions basées sur RHEL et openSUSE, utilisez la commande suivante pour autoriser SSH dans le programme du pare-feu :
Pour autoriser SSH par numéro de port, utilisez la commande suivante :
Pour un serveur web SSH fonctionnant sur le port 4444, la commande serait certainement :
Pour valider l’ajout réussi de la ligne directrice dans le logiciel du pare-feu, exécutez :
5. Résoudre les conflits d’adresses IP
Il y a de même une chance que l’erreur SSH « lien refusé » se produise à cause de l’IP du serveur web SSH contrevenant à l’IP d’un autre système dans le réseau. Cela se produit lorsque 2 systèmes sur un réseau prétendent avoir exactement la même l’adresse IP, provoquant un conflit d’IP.
Pour confirmer s’il y a un conflit IP dans votre réseau, utilisez l’outil arp-scan comme adhère à :
S’il y a un conflit d’IP, vous verrez l’adresse IP répliquée dans la sortie. La capture d’écran ci-dessous est un exemple de conflit d’IP dans un réseau :
Pour éviter les conflits d’IP, assurez-vous qu’aucun gadget n’a d’adresse IP fixe qui chevauche les adresses de la piscine DHCP.
Conseil bonus : Exécutez SSH en mode Verbose
Chaque fois que vous rencontrez une erreur SSH, essayez d’exécuter la commande ssh en mode verbeux pour localiser le problème. Pour exécuter SSH en mode verbeux, utilisez la commande ssh avec le paramètre – vvv alternative comme suit :
En réglage verbeux, vous verrez des messages de débogage dans chaque action du lien qui vous aideront certainement à reconnaître où se situe le problème.
Dépannage de l’erreur SSH » Connexion refusée » sous Linux.
En déterminant les raisons potentielles de l’erreur de connexion SSH ainsi qu’en exécutant les options suggérées, vous aurez la capacité de réparer ainsi que de résoudre l’erreur SSH « lien refusé ». En plus de ces étapes, assurez-vous que vous vous attachez à l’adresse IP appropriée et que vous utilisez également les meilleures qualifications de connexion.
Pour rendre votre connexion à distance plus sûre et sécurisée, vous pouvez configurer une authentification à deux facteurs pour SSH sur Linux.
Abonnez-vous à notre newsletter
Comment activer le port 22 sous Linux ?
Conclusion
- Installer le pare-feu UFW sur un serveur Ubuntu 16.04 LTS.
- Ouvrir le port 22 de ssh en utilisant ufw sur Ubuntu/Debian Linux.
- Configurez ufw pour transférer le port 80/443 vers le serveur interne hébergé sur le réseau local.
- Bloquer une adresse IP avec ufw sur un serveur Ubuntu Linux.
- Limiter les connexions SSH (port TCP 22) avec ufw sur Ubuntu Linux.
Comment réparer le refus de connexion SSH au port 22 de l’hôte ?
Sauvegarder cette réponse.
- Vérifiez d’abord que openssh-server est installé sur ce système.
- vérifiez l’état du service ssh, faites démarrer le service ssh. sudo service ssh status sudo service ssh start.
- Vérifiez si le port 22 de ce système est bloqué par iptables .
- Sinon, changez le numéro de port de ssh de 22 à 2222 en éditant.
Pourquoi mon serveur Linux n’accepte-t-il pas les connexions SSH ?
Les fautes de frappe ou les informations d’identification incorrectes sont des raisons courantes pour une connexion SSH refusée. Assurez-vous que vous ne faites pas de fautes de frappe dans le nom d’utilisateur ou le mot de passe. Ensuite, vérifiez si vous utilisez l’adresse IP correcte du serveur.
Comment réinitialiser ma connexion SSH ?
Le redémarrage de ssh est un travail simple, exeutez :
- # /etc/init.d/ssh restart.
- # service ssh restart.
- $ sudo service ssh restart.
- $ sudo systemctl restart ssh.