Pourquoi est-ce que je reçois une erreur «port 22: connexion refusée»?


70

Je reçois un

port 22: Connection refused 

erreur lors de la connexion à un serveur.

Le client et le serveur openssh sont installés et ils sont en cours d'exécution. Mais il y a toujours une erreur. S'il vous plaît aider.


2
Juste pour clarifier, le serveur openssh est-il installé sur le serveur?
— Kevin

Vérifiez que ssh fonctionne sur le port 22 et si vous avez une règle de pare-feu bloquant le port.
— Manula Waidyanatha

1
Selon moi, configurez le pare-feu de sorte qu'il permette de ssh (port 22), qui est actuellement bloqué par le pare-feu.
— Ketan Patel


Cela pourrait aussi être dû à une perte temporaire du réseau. Alors vérifiez votre connexion internet.
— user648610

Réponses:


78

J'ai parcouru ce problème et j'ai finalement obtenu une réponse appropriée.

sudo apt-get update
sudo apt-get install openssh-server
sudo ufw allow 22

Puis est entré raspi-configdans une fenêtre de terminal et a activé ssh.

Cela permettra d'utiliser le port 22 pour sshd.


Même problème ici que @SDsolar
— Nadav B

@Nadiv, j'ai également dû utiliser raspi-config pour activer ssh. La réponse a été modifiée pour refléter cela.
— SDsolar le

Effectué les trois premières lignes sur les deux ordinateurs et le fichier est maintenant transféré avec succès. Pourquoi Ubuntu ne vient-il pas avec ceux-ci installés / activés par défaut? L' connection refusederreur est tellement énigmatique que je ne savais pas si c'était un problème de pare-feu, de nom d'utilisateur, d'adresse IP, etc. Très frustrant.
— Hatefiend

sudo ufw allow 22travaillé une fois. Là encore, l'erreur a commencé à apparaître.
— Vineeshvs

32

Sur le serveur, vérifiez que sshd est en cours d’exécution et écoute sur le port 22:

$ sudo netstat -anp | grep sshd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1538/sshd       
tcp6       0      0 :::22                   :::*                    LISTEN      1538/sshd       

Si vous n'obtenez pas de résultats, ou s'ils ne montrent pas que vous écoutez sur TCP 0.0.0.0:22 ... corrigez cela.

Si vous montrez que sshd est en cours d'exécution et écoute sur le port TCP 22, assurez-vous qu'aucune règle de pare-feu ne vous empêche. Encore une fois, sur le serveur:

$ sudo iptables -L | grep ssh
DROP       tcp  --  anywhere             anywhere            tcp dpt:ssh 

Ou alternativement

$ sudo ufw verbose
Status: active

To                         Action      From
--                         ------      ----
22                         DENY        Anywhere
22/tcp                     DENY        Anywhere

Si vous voyez une règle comme celle ci-dessus, vous devrez résoudre ce problème.

Si vous ne voyez pas de règles de pare-feu et que le service s'exécute sur le serveur, il est temps de vérifier votre poste de travail et le réseau auquel il est connecté. Pouvez-vous vous connecter à d'autres serveurs? Pouvez-vous cingler votre propre interface ou adresse de bouclage? Etc.


1
et si vous pouvez vous connecter à d'autres serveurs?
— opensourcechris

2
Hé, merci d'avoir répondu, le mien n'est pas le port 22, mais le 2222. Vous avez dit de réparer ça, mais comment?
— Yogesh Darji

Le mien n'a donné aucun résultat.
— SDsolar

corrigez le avec: sudo ufw allow 22(ou quel que soit votre port)
— John D

netstat est obsolète (et n'est pas installé par défaut sur les versions les plus récentes d'Ubuntu - La commande 'netstat' est introuvable, mais peut être installée avec ... ). Peut-être mettre à jour pour iproute2 ?
— Peter Mortensen le

14

Essaye ça

sudo apt-get remove openssh-client openssh-server

puis

sudo apt-get install openssh-client openssh-server

ça a fonctionné pour moi :)

Probablement pas le plus solution orthodoxe ... :)


3
Utiliser dpkg-reconfigure serait plus facile à utiliser à la place d'une solution de désinstallation / réinstallation
— Stephen Michael Kellat

1
Je devais utiliser apt-get purge openssh-server (au lieu de remove) pour que cela fonctionne.
— 11101101b

6

Je suis tombé sur le même problème après avoir installé Raspbian. Solution qui a fonctionné pour moi:

sudo apt-get purge openssh-server
sudo apt-get install openssh-server

Si cela a fonctionné, vous devez avoir changé votre sshd-config auparavant.
— Guntbert

J'ai édité sshd_config sur Raspbian en essayant de configurer ssh. Cette solution a fonctionné pour moi.
— Scott

+1 Seule solution qui a fonctionné!
— Nadav B

1

Les commandes suivantes ont fonctionné pour moi:

cd /root/.ssh
vi known_hosts

Supprimez maintenant tout le contenu de ce fichier et entrez sur le terminal:

service sshd restart

Source: SSH - Connexion refusée


problème similaire pour moi, mais j'ai effacé mes hôte connus avec ssh-keygen -f "/home/MYUSER/.ssh/known_hosts" -R MYHOST, en remplaçant mon utilisateur Linux et mon hôte distant auquel j'essayais de me connecter
— Chris

1

Cela pourrait résoudre le problème pour vous aussi. Essayez la connexion de transfert de port 22 de votre adresse IP sortante à votre adresse IP locale située sur le même port. Travaillé pour moi me permettant de SSH pour ordinateur à distance Ubuntu.


0

L'IP statique était faux dans mon cas. Découvert en faisant ping <my_ip>après la commutation du serveur. Il y avait encore du ping même quand le serveur était éteint. Changer l'adresse IP a résolu le problème.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.