comment tunneler Windows Remote Desktop via ssh en utilisant une boîte linux?

17

J'ai deux serveurs physiques sur mon réseau domestique, linux ( 192.168.8.x) et Windows Server 2008 ( 192.168.8.y).

Le serveur linux est accessible de l'extérieur par ssh sur un port non standard (disons 23008). Comment puis-je établir un tunnel RDP permanent via ssh sur la box Linux? Je sais que je peux utiliser du mastic sur la machine extérieure, mais je ne sais pas comment configurer correctement sshd sur la boîte Linux. Merci pour tout indice!

elsni
la source

Réponses:

18

En supposant que votre box Linux soit accessible depuis Internet au 1.2.3.4 sur le port 23008, sur un système externe, je ferais:

external% ssh -p 23008 -L 13389:192.168.8.y:3389 [email protected]

Je me connecte ensuite au système RDP redirigé par port avec

external% rdesktop localhost:13389

Si votre boîtier externe n'est pas un boîtier Linux, il y aura des commandes équivalentes pour les outils dont vous disposez; l'idée est toujours la même: pour transférer le port 13389 de l'externe vers le port 3389 de 192.168.8.y, puis utiliser le client RDP de l'externe pour s'y connecter localhost:13389.

Vous vous référez à la configuration correcte du sshd de la boîte Linux, mais à moins que vous ne l'ayez reconfiguré, la configuration standard de sshd est susceptible de le supporter très bien.

Chapelier Fou
la source
Vous avez raison, je pensais que je dois configurer sshd pour tunneler des ports spécifiques. Mais tout cela se fait avec la commande client. (ssh ou mastic sur les fenêtres). I
elsni
14
ssh -L 3389:<ip of windows server>:3389 <ip of ssh server> -l <ssh user> -N

En supposant que 3389 est le port sur lequel votre RDP s'exécute ET que le serveur ssh a accès audit port, vous pouvez alors vous connecter à 127.0.0.1:3389 comme s'il s'agissait du serveur distant.

Oneiroi
la source
l'ip du serveur ssh est-elle interne ou externe? L'extérieur change quotidiennement, mais le serveur est accessible depuis les dyndns de l'extérieur
elsni
Dans ce cas: les ssh -L 3389:<ip of windows server>:3389 <dydns of ssh server> -l <ssh user> -Nnoms d'hôte peuvent être utilisés à la place des adresses IP en supposant bien sûr que vous avez le port 22 qui redirige vers le serveur ssh, qui sur une note latérale peut être mauvais, si vous utilisez un port différent et que le transfert sur 1212, utilisez le -p 1212 drapeau.
Oneiroi
<prdp> est le port rdp sur le serveur Windows interne <pssh> est le port du serveur linux ssh public (non standard dans mon cas) <ptunnel> est le port du tunnel <ipwserver> est l'adresse IP interne du serveur Windows. J'ai fait un ssh -L <prdp>: <ipwserver>: <ptunnel> myserver.gotdns.com -l mon nom d'utilisateur -N -p <pssh> correct?
elsni
3

On peut également utiliser le tunneling ssh interne à partir du client de bureau à distance Remmina .

Si vous pouvez ssh vers un serveur linux en utilisant des clés ssh et que ce serveur a un port 3389 (RDP) ouvert pour les paquets provenant de votre machine, vous pouvez utiliser la configuration suivante pour RDP via tunnel ssh.

Dans l'éditeur de profil, configurez l' onglet Basique comme pour la connexion directe. Accédez à l' onglet Tunnel SSH et configurez le tunelling comme ceci:


[x] Activer le tunnel SSH

(o) Personnalisé [ip / nom d'hôte du serveur ssh / linux]

Authentification SSH:

Nom d'utilisateur: [nom d'utilisateur sur le serveur ssh / linux]

(o) Clé publique (automatique)


Utilisation de ces options Remmina s'ouvre

ssh -L 3389:[target windows server]:3389 [linux server] -N

puis connecte la session RDP via ce canal ssh.

Si vous vous connectez au serveur Linux en utilisant un nom d'utilisateur / mot de passe ou si vous utilisez un fichier d'identité différent, vous devez modifier la section Authentification SSH de la configuration du profil.

andrej
la source