Tutoriels Linux

Comment réparer «connexion ssh refusée» sous Linux

Par Richard, le 4 avril 2021 — 6 minutes de lecture
Comment réparer «connexion ssh refusée» sous Linux

Obtention d’erreurs «connexion refusée» lors de la tentative de connexion via SSH sous Linux? Si oui, ce guide est pour vous! Suivez ci-dessous pendant que nous passons en revue quelques corrections possibles à l’erreur «connexion refusée» sur votre système Linux!

Fix 1 – Le port 22 est bloqué par le pare-feu

Une raison possible pour laquelle vous pouvez obtenir «connexion ssh refusée» lors de la connexion à un bureau ou un serveur Linux avec un serveur OpenSSH configuré est que le pare-feu bloque le port par défaut.

Pour résoudre ce problème, vous pouvez débloquer le port 22 à l’aide de votre pare-feu. Dans ce guide, nous vous montrerons comment débloquer le port 22 à l’aide du pare-feu de ligne de commande UFW pour Ubuntu / Debian et d’autres distributions qui utilisent UFW. Nous couvrirons également FirewallD pour ceux qui utilisent des distributions RedHat telles que Fedora, RHEL, etc.

Remarque: si vous utilisez un système de pare-feu autre que UFW ou Firewalld sous Linux, vous devrez consulter le manuel de votre logiciel pour savoir comment débloquer le port 22.

Pour démarrer le processus de déblocage, vous aurez besoin d’une fenêtre de terminal. Lancez une session de terminal sur le bureau Linux ou le serveur Linux qui héberge votre serveur OpenSSH. Une fois la fenêtre du terminal ouverte, suivez les instructions de déblocage correspondant au pare-feu que vous utilisez.

Débloquez le port 22 sur Ubuntu, Debian et d’autres systèmes d’exploitation Linux utilisant UFW

Sur de nombreux serveurs et postes de travail Linux, le pare-feu UFW est exécuté par défaut. Si ce système fonctionne, le port 22 est peut-être bloqué. Pour le débloquer afin d’autoriser le trafic SSH via le port 22, vous devrez utiliser le Autoriser commander.

Dans le terminal, exécutez le sudo ufw autorise ssh commander. Cette commande indiquera au pare-feu UFW d’autoriser le profil «ssh» à travers le pare-feu, qui est, par défaut, le port 22.

sudo ufw allow ssh

Si vous utilisez SSH sur un port personnalisé autre que le port 22, saisissez le autoriser ssh ne fonctionnera pas et UFW continuera à bloquer les connexions. Pour résoudre ce problème, vous pouvez utiliser le ufw autoriser et spécifiez un port à débloquer.

Par exemple, si votre bureau ou serveur Linux exécute OpenSSH sur le port personnalisé 443, vous pouvez le débloquer via le pare-feu UFW à l’aide de la commande ci-dessous.

sudo ufw allow 443/tcp

Pour débloquer des ports SSH personnalisés avec le pare-feu UFW sur Ubuntu, Debian ou tout autre serveur / bureau exécutant le pare-feu UFW, spécifiez le port avec le Autoriser commander.

sudo ufw allow MY_CUSTOM_SSH_PORT/tcp

Débloquez le port 22 sur Fedora, RHEL et d’autres systèmes d’exploitation Linux utilisant FirewallD

Si vous exécutez un serveur ou un bureau qui utilise Fedora, RHEL ou un autre système d’exploitation Linux basé sur Redhat, vous utilisez probablement Firewalld. Si vous obtenez des erreurs de «connexion refusée», c’est peut-être parce que le port 22 est bloqué. Voici comment l’activer avec FirewallD.

Tout d’abord, vous devez vous connecter au compte root dans le terminal. Un accès root est requis pour modifier les paramètres de configuration de FirewallD. Pour accéder au compte root, exécutez ce qui suit su – commander.

su - 

Après avoir accédé au compte root à l’aide du su commande, utilisez la pare-feu-cmd commande pour ajouter une nouvelle règle de pare-feu autorisant le port 22 via (trafic SSH).

firewall-cmd --zone=public --add-port=22/tcp --permanent

Si vous exécutez SSH sur un port personnalisé plutôt que sur le port 22, la commande ci-dessus ne fonctionnera pas. Au lieu de cela, vous devrez remplacer la commande «add-port = 22» par votre port personnalisé.

firewall-cmd --zone=public --add-port=MY_CUSTOM_SSH_PORT/tcp --permanent

Une fois que vous avez ajouté la nouvelle règle à la configuration de Firewalld, vous devrez appliquer les nouveaux paramètres. Pour appliquer ces paramètres, exécutez le firewall-cmd –reload commander.

firewall-cmd --reload

Fix 2 – Le service OpenSSH est en panne

Si le déblocage des ports SSH dans le pare-feu ne l’a pas fait, vous avez peut-être affaire au fait qu’OpenSSH est en panne sur votre serveur. Pour vérifier si le service est en panne, ouvrez un terminal et exécutez le service OpenSSH statut systemctl commander.

systemctl status sshd

Après avoir exécuté la commande status, vous verrez une lecture du service sshd, le fichier qui permet au serveur OpenSSH de fonctionner sur la plupart des systèmes d’exploitation Linux.

Regardez à travers la lecture SSH pour la section «Actif». S’il indique «Actif: inactif (mort)», votre service OpenSSH est arrêté et doit être redémarré. S’il indique «actif (en cours)», vous devrez essayer un autre correctif pour déterminer pourquoi les connexions sont refusées.

Pour redémarrer le service OpenSSH, vous pouvez exécuter le systemctl démarrer sshd commander.

sudo systemctl start sshd

Fix 2.5 – Le service OpenSSH n’est pas activé

Une autre raison possible pour OpenSSH de refuser les connexions est le simple fait que le service sshd d’OpenSSH n’est pas activé au démarrage. En ne l’activant pas au démarrage, SSH peut tomber en panne à chaque redémarrage, provoquant des problèmes de connexion. Pour remédier à ce problème, vous pouvez exécuter la commande systemctl suivante.

sudo systemctl enable sshd 

Fix 3 – OpenSSH s’exécute sur un port différent

De nombreux utilisateurs aiment personnaliser leurs configurations SSH lors de la configuration d’un serveur SSH. L’une des choses les plus courantes à faire est de changer le port par défaut de 22 à autre chose.

Si vous avez changé votre port SSH, vous devez le spécifier pour que la connexion réussisse. Par exemple, si un serveur SSH s’exécute sur le port 443, la simple exécution de la commande ci-dessous entraînera une erreur de connexion.

ssh [email protected]

Vous pouvez corriger ce refus de connexion en spécifiant le numéro de port lors de la connexion à l’aide du -p commutateur de ligne de commande.

ssh -p CUSTOM_PORT_NUMBER [email protected]
Richard

Richard

Rédacteur pour Levonsys, je suis spécialiste Linux et Android. Mes guides et mes articles vous livrent quelques astuces afin de profiter au mieux de ces deux systèmes d'exploitations.

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.