Forum général.général SSH et VNC (Contrôle à distance)

Posté par  .
Étiquettes : aucune
0
18
nov.
2007
Bonjour à tous,
J'essaye de prendre le contrôle à distance d'une machine derrière une freebox avec ssh+vnc.
Sur le PCdistant : linux, avec serveur ssh démarré (openssh), port 22 ouvert du routeur de la Freebox, Bureau à distance activé (à l'aide de vino-preferences)

Sur le PClocal : linux, ssh installé.

La connexion ssh se passe sans problème lorsque je fais :
ssh -v -L 5901:PClocal:5900 -C utilisateurdistant@PCdistant
(je suis connecté alors sur la machine distante, je laisse ouvert la console)

Et normalement, après on doit faire dans une autre console:
vncviewer PClocal:5901

Voici les messages d'erreur que j'obtiens dans la console de vncviewer :
CConn: connected to host localhost port 5901
main: End of stream


Et donc je vais voir dans l'autre console si on j'ai d'autres messages, et effectivement, j'ai ça qui est apparu :
debug1: Connection to port 5901 forwarding to PClocal port 5900 requested.
debug1: channel 3: new [direct-tcpip]
channel 3: open failed: administratively prohibited: open failed
debug1: channel 3: free: direct-tcpip: listening port 5901 for core2linux port 5900, connect from 127.0.0.1 port 57274


Comment résoudre ce problème ? Ca doit venir de vncviewer ?

Merci
  • # Errata

    Posté par  . Évalué à 1.

    Dans le dernier message d'erreur, il faut évidemment remplacer core2linux par PClocal ;)
  • # AllowTcpForwarding

    Posté par  . Évalué à 1.

    En cherchant sur le net, j'ai vu que ce genre de message était causé par AllowTcpForwarding mis à no dans le fichier de config du serveur.
    Il n'y était pas, je l'ai rajouté en le mettant à yes, mais c'est toujours pareil ;)
  • # plus simple

    Posté par  . Évalué à 1.

    tu sais, tu peux renvoyer le port 5900 de ta freebox vers ton server.

    ensuite depuis ton client, tu te connecte sur ton ip externe...

    enfin je dis, ca, je suppose que tu connaissais deja.
    • [^] # Re: plus simple

      Posté par  . Évalué à 1.

      Tu veux que je ne passe pas par SSH mais juste utiliser VNC ? Mais ne faut-il pas lancer un serveur VNC sur le PCdistant dans ce cas ?

      J'aurai préféré une méthode avec ssh cela dit ;)

      Merci
      • [^] # Re: plus simple

        Posté par  . Évalué à 1.

        dans les 2 cas il te faut avoir lancé un serveur VNC qui va ecouter sur le port 5900 du PC distant.

        faire un simple ssh forward, si tu n'as pas lancé le serveur VNC, forcement ca ne va pas marcher.

        par contre il me semble que dans certaines distributions le vino-server se lance automatiquement si tu actives de "remote control"
        • [^] # Re: plus simple

          Posté par  . Évalué à 1.

          Oui la machine est sous la distrib Ubuntu, je pense que lorsqu'on active "Bureau à distance" le vino-server se lance tout seul non ?
          Tout à l'heure j'aurai de nouveau accès à la machine distante, j'essayerai de voir ce qui ne vas pas ;)

          Merci à toi
  • # Forwarder vers la bonne machine !

    Posté par  . Évalué à 2.

    Salut,

    Avec ta commande SSH, l'option '-L 5901:PCLocal:5900' tu fais des choses bizarres : tu te connectes depuis PCLocal su PCDistant en ouvrant le port 5901 sur PCLocal et ce port est forwardé, via PCDistant, sur le port 5900... de PCLocal ! (port qui d'après les logs n'est pas ouvert).
    En clair, ça pourrait te permettre d'ouvrir une connexion depuis PCLocal sur un serveur VNC lancé sur PCLocal en passant par PCDistant (tunnel SSH) !


    Pour que cela marche comme tu veux, la bonne commande est plutôt :

    > ssh -L5901:localhost:5900 -C utilisateurdistant@PCDistant

    Ensuite, sur PCLocal, il suffit d'exécuter

    > vncviewer localhost:5901

    pour se connecter sur le serveur VNC écoutant sur le port 5900 de PCDistant.

    A+
    JJD
    • [^] # Re: Forwarder vers la bonne machine !

      Posté par  . Évalué à 1.

      Le seul truc qui change là, c'est localhost au lieu du nom host de la machine...c'est normal ? Je croyais que ca revenait au même ;)
      Je teste ça tout à l'heure et je vous tiens au courant ;)
      Merci à vous
      • [^] # Re: Forwarder vers la bonne machine !

        Posté par  . Évalué à 5.

        Il faut faire attention au fait que dans l'option

        -L <localport>:<remotehost>:<remoteport>

        le paramètre <remotehost> est interprété côté serveur SSH.
        Donc, "localhost" est, à peu près, équivalent à PCDistant (en fait, il s'agit de la même machine, mais avec sur des interfaces réseau différentes : l'interface de loopback dans un cas et l'interface LAN [ethernet ou WIFI] dans l'autre).
        Comme c'est bien sur le serveur PCDistant que tu veux te connecter en VNC, c'est bien lui qu'il faut indiquer comme "remotehost" dans la commande SSH.

        Enfin, je ne connais pas bien le fonctionnement de vino, mais il est possible que, pour des raisons de sécurité, ce serveur VNC n'écoute que sur l'interface de loopback (localhost/127.0.0.1) et pas sur l'interface LAN (PCDistant/192.168.x.x). Si c'est le cas, alors il faut impérativement que remotehost soit égal à localhost et pas à PCDistant (et de toute façon, pas à PCLocal).

        A+
        JJD

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.