web-dev-qa-db-fra.com

connexion ssh refusée

Salut, j'ai un problème avec mon SSH, qui est arrêté de fonctionner comme par magie et je ne pouvais pas comprendre pourquoi. Le message qu'il donne est:

ssh: connect to Host <Host> port 22: Connection refused

Je ne vois aucun message d'erreur lorsque j'écris dmesg mais je reçois un suivi de telnet localhost 22

Trying 127.0.0.1...
telnet: Unable to connect to remote Host: Connection refused

J'ai essayé les solutions que j'ai vues dans des cas similaires [1] et [2] mais cela n'a toujours pas résolu mon problème. Les entrées et les sorties sont les suivantes:

>> Sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
>> Sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  

Notez que c'était déjà ACCEPTER je n'avais aucun problème avant même d'entrer la commande Sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT. J'ai aussi essayé de redémarrer ssh mais ça n'a rien changé

>>netstat -a | egrep 'Proto|LISTEN'
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost:20128         *:*                     LISTEN     
tcp        0      0 localhost:17600         *:*                     LISTEN     
tcp        0      0 localhost:20129         *:*                     LISTEN     
tcp        0      0 localhost:17603         *:*                     LISTEN     
tcp        0      0 localhost:21128         *:*                     LISTEN     
tcp        0      0 deathstar:domain        *:*                     LISTEN     
tcp        0      0 localhost:ipp           *:*                     LISTEN     
tcp        0      0 *:db-lsp                *:*                     LISTEN     
tcp6       0      0 ip6-localhost:ipp       [::]:*                  LISTEN     
tcp6       0      0 [::]:db-lsp             [::]:*                  LISTEN 

Je ne sais pas quoi essayer d'autre, alors espérons que cela suffira à résoudre le problème.

Le repos est ajouté après le commentaire de @ Ashu

Sudo lsof -i | grep ssh

rien ne s'est passé

>>netstat -l --numeric-ports | grep 22
unix  2      [ ACC ]     STREAM     LISTENING     1618183  @jack-com.canonical.Unity.Master.Scope.files.T1731348652205882

>>Sudo iptables --list
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

Eddited après le commentaire de @ TheSchwa

>>ps aux | grep sshd
jack      3711  0.0  0.0  15944  2220 pts/26   S+   14:08   0:00 grep --color=auto sshd
3
jackaraz

J'ai d'abord essayé de supprimer et de réinstaller ssh mais cela n'a pas fonctionné pour moi, puis j'ai essayé de le purger:

Sudo apt-get purge openssh-server
Sudo apt-get install openssh-server

alors maintenant son travail.

15
jackaraz

L'erreur TCP "Connexion refusée" signifie qu'il y a un hôte actif sur cette adresse IP mais que le port auquel vous essayez de vous connecter (22 pour ssh) n'est pas ouvert.

Tout d’abord, vérifiez votre nom d’hôte et/ou votre adresse IP.

La raison la plus probable est que quelqu'un a arrêté le démon ssh ou l'a configuré pour utiliser un autre port au lieu du port par défaut 22.

Si vous avez un accès physique à votre serveur, connectez-vous à ce serveur et tapez la commande Sudo netstat -tupan. Idéalement, vous devriez voir une ligne comme celle-ci:

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1053/sshd

Si vous n'essayez pas de démarrer sshd et/ou de vérifier s'il est configuré pour écouter sur le port 22.

EDIT

Les bits sur lesquels se concentrer sont:

:22 - port 22

LISTEN - un processus est en cours d'exécution et attend les connexions entrantes sur le port 22

sshd - le nom du processus.

Si vous ne voyez pas une telle ligne, votre serveur ssh est peut-être mal configuré et ne parvient pas à démarrer. Essayez cette page pour savoir comment l'exécuter au premier plan et le dépanner.

5
sмurf

Le pare-feu de votre serveur est configuré pour que le port soit ouvert, mais rien n’écoute pour répondre à votre connexion.

Vous devez avoir sshd (le démon ssh) installé et en cours d'exécution ...

https://help.ubuntu.com/community/SSH/OpenSSH/Configuring

2
fiprojects

Connexion SSH refusée pour la raison suivante-

  1. le port par défaut (22) a été remplacé par autre chose. Vérifiez votre fichier/etc/ssh/sshd_config pour tout changement de port.

  2. Conflit IP sur le réseau local. Utilisez la commande arping pour déterminer tout conflit. voir votre piscine DHCP.

  3. le port ssh n'est pas autorisé sur ip-tables/firewall. Vérifiez votre iptables/firewall et autorisez.

* Désinstaller/réinstaller le paquet ssh n'est pas une bonne idée car il changera de nombreuses clés et passera.

L’un des problèmes les plus courants est le service sshd lui-même. Avez-vous vérifié s'il fonctionne réellement? De plus, j'ai remarqué que vous éditiez directement vos iptables, donc si vous aviez ufw/firewalld en cours d'exécution, vous pourriez aussi bien le vérifier.

Assurez-vous également que le serveur ssh exécute la bonne adresse IP et que le nom de domaine complet est routé vers la bonne adresse IP.

1
upbeta01

Vous devez créer un répertoire manquant comme ceci

mkdir /var/run/sshd
chmod 0755 /var/run/sshd

Puis démarrez le serveur ssh défectueux avec:

service ssh start

Et c'est tout!

0
krysits