1 votes

NoMachine par proxy SSH/Netcat

Je tunnelise une connexion nc vers mon hôte cible (example.com) via une connexion ssh vers ma passerelle. Voici ma configuration .ssh/config pour cette connexion :

Host target
Hostname example.com
HostKeyAlias target
ProxyCommand ssh me@gateway /bin/nc example.com 22

C'est très bien et cela me permet de me connecter en ssh à l'hôte cible en une seule étape. Ce que j'aimerais faire, c'est pouvoir tunneler une session NX ou VNC sur cette connexion.

Quelqu'un sait-il comment procéder ?

2voto

johnny_bgoode Points 143

Voici comment une session VNC peut être créée via un tunnel ssh avec un saut de passerelle entre le client et la machine cible :

Le fichier /etc/ssh/sshd_config (sur la machine cible) doit contenir ces lignes :

X11Forwarding yes
XAuthLocation /usr/bin/xauth

Votre chemin d'accès à xauth peut être différent, mais par défaut, sshd cherche dans le mauvais emplacement et cette valeur doit donc être définie.

.ssh/config (sur la machine cliente) :

Host example.com
Hostname foo.example.com
HostKeyAlias example.com
ProxyCommand ssh -t -C me@gateway.com /bin/nc %h 22

Ensuite, à partir du client, je peux exécuter

me@localhost$ ssh -X -C example.comCela démarre une session X sur mon client ainsi qu'une connexion ssh à example.com. Il ne reste plus qu'à lancer quelques commandes sur l'hôte distant pour lancer VNC :

me@example.com$ vncserver :n 
me@example.com$ vncviewer -encodings "copyrect tight zlib corre rre raw" :n

Dans les commandes ci-dessus, :n est le numéro de l'écran sur lequel vous voulez démarrer vnc et l'écran sur lequel vncviewer doit chercher la session vnc. Puisque cela ressemble à une connexion locale à VNC, c'est une bonne idée de spécifier de meilleurs encodages car vncviewer utilisera par défaut l'encodage brut, ce qui donnera des performances médiocres sur le réseau.

C'est tout !

1voto

LatinSuD Points 831

Je pense que vous devriez utiliser la redirection de port que SSH peut déjà faire :

ssh -L 5900:example.com:5900 me@gateway

Cela redirigera le port 5900 de votre machine locale vers example.com à travers la passerelle. Maintenant, il suffit de "vncviewer localhost" depuis votre machine locale.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X