web-dev-qa-db-fra.com

Connexion SSH -L réussie, mais la redirection de port localhost ne fonctionne pas "canal 3: échec de l'ouverture: échec de la connexion: connexion refusée"

Mon laboratoire utilise RStudio sur un serveur. Il y a quelques semaines, de la maison de mon cousin, j'ai réussi à me connecter au serveur et à installer le RStudio côté serveur via mon navigateur Firefox local. Maintenant, lorsque j'essaie d'accéder au serveur RStudio depuis mon domicile (via mon propre routeur), cela ne fonctionne pas. J'ai besoin d'aide pour le dépannage, et je devine que c'est un problème sur le routeur. J'utilise Mac OSX 10.6.8. Aucune idée de ce que le serveur de l'université fonctionne, mais je ne pense pas que ce soit un problème côté serveur.

Voici comment cela a fonctionné la première fois que je l'ai fait, chez mon cousin: d'abord, je me connectais au réseau universitaire; J'appelle ensuite SSH avec la redirection de port; J'ouvre ensuite un navigateur Firefox, me connecte à mon port localhost et le logiciel ouvre RStudio côté serveur auquel je peux accéder via la fenêtre de mon navigateur local.

Voici le problème que je rencontre actuellement lorsque j'essaie de me connecter à partir de mon réseau domestique:

Je peux établir la connexion VPN avec succès. Je peux également configurer SSH avec succès avec cette commande: ssh -v -L 8783:localhost:8783 [email protected]

Voici les dernières lignes de la sortie détaillée de la commande ssh réussie:

debug1: Authentication succeeded (password).
debug1: Local connections to LOCALHOST:8783 forwarded to remote address localhost:8783
debug1: Local forwarding listening on 127.0.0.1 port 8783.
debug1: channel 0: new [port listener]
debug1: Local forwarding listening on ::1 port 8783.
debug1: channel 1: new [port listener]
debug1: channel 2: new [client-session]
debug1: Entering interactive session.
Last login: Mon Sep  2 04:02:40 2013 from vpnipaddress

Donc, je pense que je suis toujours en train de réussir au niveau des réseaux VPN et SSH (bien que je ne sache pas pourquoi il est dit que ma dernière connexion a été le 2 septembre lorsque je me suis connecté plusieurs fois depuis).

Ensuite, j'ouvre Firefox et je saisis localhost: 8783. Au lieu d'obtenir une application serveur RStudio via la fenêtre de mon navigateur, j'obtiens les erreurs suivantes:

Dans la fenêtre du navigateur Firefox, il est indiqué: serveur introuvable, Firefox ne peut pas trouver le serveur sur www.localhost.com, vérifiez l'adresse pour détecter les erreurs de frappe, etc.

Dans la fenêtre du terminal, il est indiqué:

debug1: Connection to port 8783 forwarding to localhost port 8783 requested.
debug1: channel 3: new [direct-tcpip]
channel 3: open failed: connect failed: Connection refused
debug1: channel 3: free: direct-tcpip: listening port 8783 for localhost port 8783, connect from 127.0.0.1 port 50420, nchannels 4

Je ne suis pas sûr de ce que je me suis trompé. Je n'ai rien changé sur mon ordinateur portable depuis ma dernière connexion réussie. Je suis sur mon propre routeur (au lieu de celui de mon cousin), alors peut-être que je dois jouer avec le pare-feu? J'ai déjà autorisé les ports 22 et 8783 à traverser le pare-feu sur mon ordinateur portable (je ne suis même pas sûr d'avoir besoin de le faire). Aidez-moi?

23
user2762495
ssh -v -L 8783:localhost:8783 [email protected]
...
channel 3: open failed: connect failed: Connection refused

Lorsque vous vous connectez au port 8783 sur votre système local, cette connexion est tunnelée via votre lien ssh vers le serveur ssh sur-serveur.com . À partir de là, le serveur ssh établit une connexion TCP avec le port localhost 8783 et relaie les données entre la connexion en tunnel et la connexion à la cible du tunnel.

L'erreur "connexion refusée" provient du serveur ssh sur server.com lorsqu'il tente d'établir la connexion TCP avec la cible du tunnel. "Connexion refusée" signifie qu'une tentative de connexion a été rejetée. L’explication la plus simple du rejet est que, sur server.com, les connexions sur le port localhost 8783 ne sont pas à l’écoute. En d’autres termes, le logiciel serveur vers lequel vous tentiez de créer un tunnel n’exécute pas, ou bien il fonctionne ne pas écouter sur ce port.

53
Kenster

Afficher ceci pour aider quelqu'un.

Symptôme:

channel 2: open failed: connect failed: Connection refused
debug1: channel 2: free: direct-tcpip:
   listening port 8890 for 169.254.76.1 port 8890,
   connect from ::1 port 52337 to ::1 port 8890, nchannels 8

Mon scénario; J'ai dû utiliser le serveur distant en tant qu'hôte rempart pour se connecter ailleurs. Destination finale/Cible: 169.254.76.1, port 8890. Par le serveur intermédiaire avec ip publique: ec2-54-162-180-7.compute-1.amazonaws.com

Commande de transfert de port local SSH:

ssh -i ~/keys/dev.tst -vnNT -L :8890:169.254.76.1:8890
[email protected]

Quel était le problème: Aucun service n'est lié au port 8890 dans l'hôte cible. j'avais oublié de démarrer le service.

Comment ai-je du mal à tourner:

SSH dans le bastion Host et ensuite curl.

J'espère que cela t'aides.

1
AravindR

Je rencontrais le même problème car 'localhost' n'était pas disponible sur le serveur lors du redémarrage du service réseau, par exemple. 'ifdown -a' mais n'est suivi que par 'ifup -eo1'. Outre que le serveur n'écoute pas le port, vous pouvez également vérifier si «localhost» est disponible ou non. 

ps: Postez-le simplement pour que quelqu'un qui a le même problème puisse en bénéficier.

0
Xiaoyan Zhuo