Des lecteurs comme vous aident à soutenir MUO. Lorsque vous effectuez un achat en utilisant des liens sur notre site, nous pouvons gagner une commission d'affiliation. En savoir plus.

SSH est un protocole réseau qui vous permet d'accéder en toute sécurité à un système distant et de le gérer sur un réseau. Lors de la connexion à une machine distante via SSH, vous avez peut-être rencontré l'erreur "connexion refusée". L'expérience de ce problème peut être frustrante, surtout si vous êtes un administrateur système et que vous devez effectuer certaines tâches sur le système distant de manière urgente.

Examinons quelques-unes des causes possibles de l'erreur SSH "connexion refusée" et des méthodes pour la résoudre.

1. Vérifier si un serveur SSH est installé

Une cause possible de l'erreur "connexion refusée" est que la machine distante ne fonctionne pas un serveur SSH. Sans le serveur SSH, la machine n'acceptera pas les connexions SSH entrantes et vous ne pourrez pas y accéder à distance.

Ainsi, la toute première étape du dépannage de l'erreur consiste à vérifier si un serveur SSH est installé sur la machine distante. Utilisez la commande suivante pour vérifier l'installation du serveur SSH :

instagram viewer

Sur les distributions basées sur Debian :

dpkg --liste | grep ssh

Sur les distributions basées sur RHEL :

liste miam installée | grep ssh

Sur openSUSE :

recherche zypper -i | grep ssh

Sur les distributions basées sur Arch :

pacman-Q | grep ssh

Si le serveur SSH est installé sur la machine distante, vous le verrez répertorié dans la sortie. Sinon, vous devez installer le serveur OpenSSH sur la machine distante auquel vous souhaitez accéder via SSH. OpenSSH est une version open source des outils SSH pour accéder et contrôler à distance les systèmes.

Pour installer le serveur OpenSSH, utilisez les commandes suivantes :

Sur les distributions basées sur Debian :

sudo apt install openssh-server

Sur les distributions basées sur RHEL :

sudo yum installer openssh-server

Sur openSUSE :

sudo zypper installer openssh

Sur les distributions basées sur Arch :

pacman -S ouvresh

2. Vérifier l'état du service SSH

Une autre raison de l'erreur "connexion refusée" peut être que le service SSH est désactivé ou ne s'exécute pas sur la machine distante. Une fois que vous êtes sûr que le serveur SSH est installé, la deuxième chose que vous devez vérifier est l'état du serveur.

sudo systemctl état sshd

Si le service est opérationnel, la sortie l'indiquera comme actif (en cours d'exécution). Sinon, vous verrez quelque chose comme inactif (mort).

Si le serveur SSH n'est pas en cours d'exécution, vous pouvez le démarrer manuellement à l'aide de la commande suivante :

sudo systemctl démarrer sshd

Vous pouvez également activer le service pour qu'il démarre automatiquement au démarrage avec :

sudo systemctl activer sshd

3. Vérifiez le port SSH

Par défaut, le serveur SSH s'exécute sur le port 22. Cependant, on peut changer le port par défaut. Par conséquent, si vous recevez l'erreur SSH "connexion refusée", c'est peut-être parce que vous essayez de vous connecter au serveur SSH sur le port par défaut 22 alors qu'il s'exécute sur un port différent.

Tu peux utilisez la commande netstat avec grep pour trouver le port sur lequel le serveur SSH écoute :

sudo netstat -plntu | grep ssh

Vous pouvez également trouver le port SSH à partir du sshd_config fichier à l'aide de la commande suivante :

port grep /etc/ssh/sshd_config

Après avoir identifié le bon port SSH, essayez de vous connecter à votre système distant en utilisant ce port spécifique.

4. Vérifiez votre pare-feu système

La plupart des problèmes de connectivité surviennent parce que le pare-feu de votre ordinateur bloque certains ports ou services. Si le serveur SSH est installé et en cours d'exécution sur la machine distante, l'étape suivante consiste à vérifier votre pare-feu.

Pour déterminer si le pare-feu bloque la connexion, désactivez temporairement le pare-feu à l'aide des commandes suivantes :

Sur les distributions Linux basées sur Debian et Arch :

sudo ufw désactiver

Sur les distributions basées sur RHEL et openSUSE :

sudo systemctl désactiver le pare-feu

Si l'erreur n'apparaît pas après la désactivation du pare-feu, cela signifie que le pare-feu bloquait la connexion. Dans ce cas, réactivez le pare-feu et ajoutez une règle qui autorise SSH.

Sur les distributions Linux basées sur Debian et Arch, utilisez la commande suivante pour autoriser SSH dans le pare-feu UFW:

sudo ufw autoriser ssh

Alternativement, vous pouvez également autoriser SSH par le numéro de port dans le pare-feu. Supposons que le serveur SSH utilise le port 5555, vous utiliserez alors la commande suivante pour l'autoriser dans le pare-feu :

sudo ufw autoriser 5555

Pour vérifier si la règle a été ajoutée avec succès, vérifiez l'état UFW :

statut sudo ufw

Sur les distributions basées sur RHEL et openSUSE, utilisez la commande suivante pour autoriser SSH dans le pare-feu :

sudo pare-feu-cmd --permanent --add-service=ssh

Pour autoriser SSH par numéro de port, utilisez la commande suivante :

sudo firewall-cmd --permanent --add-port={port}/tcp

Pour un serveur SSH exécuté sur le port 4444, la commande serait :

sudo pare-feu-cmd --permanent --add-port=4444/tcp

Pour vérifier l'ajout réussi de la règle dans le pare-feu, exécutez :

sudo pare-feu-cmd --list-all

5. Résoudre les conflits d'adresses IP

Il est également possible que l'erreur SSH "connexion refusée" se produise en raison d'un conflit entre l'adresse IP du serveur SSH et l'adresse IP d'un autre système sur le réseau. Cela se produit lorsque deux systèmes sur un réseau prétendent avoir la même adresse IP, ce qui entraîne un conflit IP.

Pour confirmer s'il existe un conflit IP sur votre réseau, utilisez l'outil arp-scan comme suit :

arp-scan [ID-réseau]

S'il y a un conflit IP, vous verrez l'adresse IP en double dans la sortie. La capture d'écran ci-dessous est un exemple de conflit IP dans un réseau :

Pour éviter les conflits IP, assurez-vous qu'aucun périphérique n'a d'adresses IP statiques qui chevauchent les adresses du pool DHCP.

Astuce bonus: exécutez SSH en mode verbeux

Chaque fois que vous rencontrez une erreur SSH, essayez d'exécuter la commande ssh en mode détaillé pour rechercher le problème. Pour exécuter SSH en mode détaillé, utilisez la commande ssh avec le -vvv choix comme suit :

ssh -vvv nom d'utilisateur@adresse_ip

En mode verbeux, vous verrez des messages de débogage à chaque étape de la connexion qui vous aideront à comprendre où se situe le problème.

Dépannage de l'erreur SSH "Connexion refusée" sous Linux

En identifiant les causes potentielles de l'erreur de connectivité SSH et en mettant en œuvre les solutions suggérées, vous serez en mesure de dépanner et de résoudre l'erreur SSH "connexion refusée". En plus de ces étapes, assurez-vous de vous connecter à la bonne adresse IP et d'utiliser les bons identifiants de connexion.

Pour rendre votre connexion à distance plus sécurisée, vous pouvez configurer une authentification à deux facteurs pour SSH sous Linux.