Comment résoudre les erreurs 'Connexion refusée' dans la connexion SSH?

97

J'ai un Ubuntu Server 10.10 32 bits chez moi. J'établis des connexions SSH depuis mon PC via Putty.

Le problème est que, parfois, je peux me connecter de manière transparente. Cependant, parfois cela me donne une erreur comme ceci:Network error: Connection refused.

Ensuite, je ne change rien, essayez de vous connecter plusieurs fois, attendez un peu et essayez à nouveau. Parfois, je peux me connecter, parfois, je ne peux pas. Cela me semble assez aléatoire.

Que puis-je faire pour résoudre ce problème?

Modifier:

Et parfois, Putty donne une Network error: Software caused connection aborterreur après avoir affiché du login as:texte.

Voici la sortie ping-t:

Pinging 192.168.2.254 with 32 bytes of data:
Reply from 192.168.2.254: bytes=32 time=6ms TTL=64
Reply from 192.168.2.254: bytes=32 time=65ms TTL=6
Reply from 192.168.2.254: bytes=32 time=88ms TTL=6
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=3ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64

J'ai désactivé le pare-feu du routeur et tout semble fonctionner maintenant. À part cela, je ne peux toujours pas accéder à mon serveur Web en saisissant une adresse IP externe à partir de mon PC.

frbry
la source
la prochaine fois, ça tombe comme ça; exécuter à nouveau un ping dessus, cela fonctionne-t-il toujours? combien de personnes ssh à cette machine?
myusuf3
Seulement je ssh ce serveur.
frbry
Exactement le même problème ici, obtenant également un mélange de connexions réussies (qui fonctionnent alors pendant des heures), de "connexion refusée" et de "interruption de connexion causée par le logiciel" après la connexion ou la saisie du mot de passe. Pour fournir quelques détails supplémentaires: dans mon cas, il s’agit d’une machine virtuelle 64 bits (exécutant Ubuntu Server 10.10) sur un hôte Microsoft Hyper-V, utilisant l’émulation "ancienne carte réseau".
hheimbuerger
SSH est installé sur votre serveur?
Willian Soares

Réponses:

82

Vous devez installer openssh-server sur Linux avant que cela fonctionne. Obtenez l'adresse IP interne d'Ubuntu et utilisez cette adresse IP pour configurer la redirection de port sur la section de port 22 (SSH) de votre routeur. Toutefois, si vous ne souhaitez pas utiliser SSH depuis l'extérieur de votre réseau, cela n'est pas obligatoire.

Voici comment installer openssh-server:

sudo apt-get install openssh-server openssh-client
[ENTER PASSWORD]
MacGyver
la source
10
Ne répond pas directement à la question, mais cela est utile car Ubuntu n'est pas pré-installé avec le serveur SSH.
Ostati
J'ai récemment eu un nouvel ordinateur portable et j'ai complètement oublié que ce n'était pas installé par défaut = D
Izkata
40

Le conflit d'adresses IP s'est avéré être la cause première lorsque j'ai vu ce message d'erreur SSH.

Après avoir lu les réponses ci-dessus, je soupçonnais un conflit d'adresses IP, mais je devais prouver que le conflit d'adresses était ou non le problème.

Cet article a montré comment utiliser arp-scan pour voir si deux matériels revendiquaient la même adresse IP.

Dans mon cas, la machine serveur avait une adresse IP statique de 192.168.1.42. J'ai utilisé arp-scan pour vérifier cette adresse:

$ sudo apt-get install arp-scan
$ arp-scan -I eth0 -l | grep 192.168.1.42
  192.168.1.42 d4:eb:9a:f2:11:a1 (Unknown)
  192.168.1.42 f4:23:a4:38:b5:76 (Unknown) (DUP: 2)

Bien sûr, il y avait un conflit, comme indiqué ci-dessus. Ensuite, j'ai couru arp-scan sans grep, j'ai trouvé que .43 était disponible, je suis allé édité /etc/network/interfaceset j'ai changé l'adresse IP statique de .42 à .43

Rian Sanderson
la source
En fait, exécuter cette commande n'a montré qu'une seule ligne sur ma boîte, sauf que le nom était celui d'un autre périphérique.
Assylias
Merci beaucoup pour le point dans la bonne direction sur le conflit d'adresses IP. Eu un problème similaire! +1
DominikAngerer
Je viens de gagner beaucoup de temps ... bravo ...
Chris Barlow
Parfois, il suffit de redémarrer mon routeur pour résoudre ce problème.
Gabriel Staples
14

Utiliser arpingsur l'adresse IP qui rencontre des problèmes de connexion. Cela montrera l'adresse MAC pour chaque réponse au ping et, espérons-le, démasquera l'adresse MAC non autorisée.

arping 192.168.2.254

Vous devez vérifier le pool d'adresses IP DHCP sur le serveur DHCP. Assurez-vous qu'aucun périphérique ne possède d'adresse IP statique en conflit avec le pool DHCP.

Ces indices suggèrent de dupliquer une adresse IP:

  • ping ttl et aller-retour ressemble à 2 serveurs distincts
  • déconnexion intermittente sans redémarrage
John Shalamskas
la source
Excellent, m'a indiqué le bon chemin! Pouvait le localiser par la deuxième adresse MAC de son port et changer l'adresse IP de l'imprimante
Canadian Luke
1
J'avais besoin d'ajouter -I wlan0 (wlan0 étant mon périphérique wifi)
guhur
6

J'ai eu le même problème, même si j'avais une adresse IP statique. Il s'avère que la même adresse IP (statique) a été attribuée à un autre serveur de mon réseau. (Duh.) Donc, il semble que le problème soit causé par des conflits d'adresses IP, mais il peut y avoir différentes manières pour que cela se produise. Si vous définissez le vôtre comme statique et que vous rencontrez toujours un problème, essayez d’arrêter votre ordinateur et d’envoyer une requête ping à l’adresse. Si vous obtenez des réponses, commencez à chercher ce qui pourrait avoir la même adresse.

DLosc
la source
1
J'ai eu les mêmes symptômes et je les ai localisés sur une machine avec la même adresse IP que le serveur.
SabreWolfy
5

ouvrez le fichier de ssh config:

sudo nano /etc/ssh/ssh_config

trouver le port

#port 22

supprimer forte l'option de port

puis enregistrez le fichier ctrl + xet redémarrez votre service

sudo service ssh restart
Amin
la source
4

Qu'est-ce que vous obtenez si vous faites cela?

grep 192.168.2.25 /etc/hosts.deny

Si cela retourne quelque chose, alors vous devez le supprimer.

Jodi MIddleton
la source
10
C'est l'une des "utilisations inutiles cat" de - vous pouvez simplementgrep 192.168.2.25 /etc/hosts.deny
Tobias Kienzler
@TobiasKienzler Fixe
wjandrea
3

Cela semble davantage un problème de votre équipement réseau que du serveur lui-même.

Vérifiez / var / log / messages pour les liaisons Ethernet haut / bas (ou wlan en cas de connexion sans fil). Si c'est le cas, essayez de changer les câbles.

forcefsck
la source
Oui, j'ai essayé et réussi à établir une connexion SSH depuis l'extérieur de mon réseau (où se trouvent mon serveur et mon PC). Cela semble bien fonctionner. Mon serveur est aussi un serveur web. Lorsque j'essaie de me connecter via le port 80 depuis mon PC, je vois la page de connexion de mon modem ADSL. Mais lorsque j'essaie la même chose à partir d'un autre ordinateur hors de mon réseau, je vois la page It Works d'Apache.
frbry
Quelle est votre adresse IP de PC, votre adresse IP de serveur et votre adresse IP de routeur adsl interne?
forcefsck
PC: 192.168.2.2 (reçu de DHCP) Serveur: 192.168.2.254 (statique, hors de la plage DHCP) Routeur ADSL: 192.168.2.1
frbry
Je suis un peu confus, lorsque vous vous connectez du port 80 192.168.2.2 au port 192.168.2.254, vous obtenez le login du modem adsl?
forcefsck
1
Sauf si vous avez configuré une sorte de proxy Web sur votre serveur, votre modem adsl répond clairement aux demandes adressées à 192.168.2.254 et c'est probablement le cas lorsque vous obtenez l' Connection refusederreur avec ssh. Donc, vous devez revérifier les paramètres de votre modem adsl.
forcefsck
3

Je peux confirmer ce problème: ce n’est pas un simple problème de connectivité. Le lien Ethernet ne change pas d'état; le serveur est accessible via ping; ssh se connecte parfaitement de temps en temps, puis apparemment, de manière aléatoire, ne se connecte pas ou ne perd pas de sessions ssh existantes. Cela se produit sur Ubuntu 10.04 et 11.04. À la suite de la suggestion de hheimbuerger, j’ai attribué au serveur une adresse IP statique, ce qui a semblé résoudre le problème.

Solution: remplacez l'adaptateur par DHCP en statique.

George
la source
1

J'ai eu exactement le même problème, et dans mon cas, il s'est avéré qu'il s'agissait d'un conflit d'adresses IP. Ma machine virtuelle Ubuntu avait une adresse dynamique, mais une autre machine (dans ce cas un téléphone) avait une adresse IP statique attribuée que le serveur DHCP ignorait.

Le simple fait de changer l'adresse IP attribuée par le serveur DHCP à la machine virtuelle Ubuntu a résolu tous les problèmes de connexion.

hheimbuerger
la source
1

C'est essentiellement pour l'une des raisons suivantes:

  1. Trop d'utilisateurs du réseau essayant d'accéder au serveur
  2. Plus d'un ordinateur sur le réseau a la même adresse IP que le serveur, ce qui provoque un conflit IP
  3. Mauvais nom d'utilisateur ou vos informations d'identification ont été révoquées
Mevin Babu
la source
0

Vous voudrez peut-être vérifier vos iptablesrègles sur votre serveur. Il semble que vous ayez pour règle de limiter les nouvelles connexions SSH.

La règle suivante autorise 5 nouvelles connexions par minute. Si vous dépassez cette limite, vos nouvelles connexions seront rejetées au bout d'un certain temps:

-A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m limit --limit 5/min -j ACCEPT

Voir la documentation IPTables / Netfilter , faites défiler un peu jusqu’à limit.

Lekensteyn
la source
0

arp-scan affiche deux périphériques en double, mais lorsque j'exécute le scanner IP avancé sur Win8, ils ont tous l'air en bon état. Donc, ils ne sont pas toujours d'accord.

Je règle le routeur pour qu'il révoque tous les baux en lui disant de ne donner que des baux d'une heure. Donnons-lui le temps de voir si ça s'éclaircit.

SDsolar
la source