web-dev-qa-db-ja.com

Linuxボックスを使用してSSH経由でWindowsリモートデスクトップをトンネルする方法

私のホームネットワークには2つの物理サーバー、linux(192.168.8.x)およびWindows Server 2008(192.168.8.y)。

Linuxサーバーは、標準以外のポート(23008など)でsshを使用して外部からアクセスできません。 LinuxボックスでSSHを介して永続的なRDPトンネルを確立するにはどうすればよいですか?外部マシンでPuTTYを使用できることはわかっていますが、Linuxボックスでsshdを正しく設定する方法がわかりません。ヒントをありがとう!

19
elsni

Linuxボックスがインターネットから1.2.3.4でポート23008にアクセスできると仮定すると、外部システムでは次のようになります。

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

次に、ポート転送されたRDPシステムに接続します

external% rdesktop localhost:13389

外部ボックスがLinuxボックスでない場合は、使用しているツールと同等のコマンドがあります。考え方は同じです。外部のポート13389を192.168.8.yのポート3389に転送し、外部のRDPクライアントを使用してlocalhost:13389に接続します。

Linuxボックスのsshdを正しく設定することについて言及していますが、再設定していない限り、標準のsshd設定でこれをうまくサポートできる可能性があります。

20
MadHatter
ssh -L 3389:<ip of windows server>:3389 <ip of ssh server> -l <ssh user> -N

3389がRDPを実行しているポートであり、sshサーバーがそのポートにアクセスできるとすると、リモートサーバーであるかのように127.0.0.1:3389に接続できます。

14
Oneiroi

Remmina リモートデスクトップクライアントからも内部SSHトンネリングを使用できます。

Sshキーを使用して一部のLinuxサーバーにsshでき、そのサーバーにマシンからのパケット用に開いている3389(RDP)ポートがある場合は、sshトンネルを介してRDPに次の設定を使用できます。

プロファイルエディタで、直接接続の場合と同様にBasicタブを設定します。 SSHトンネルタブに移動し、次のようにチューニングを設定します。


[x] SSHトンネルを有効にする

(o)カスタム[ssh/linuxサーバーのip /ホスト名]

SSH認証:

ユーザー名:[ssh/linuxサーバー上のユーザー名]

(o)公開鍵(自動)


これらのオプションを使用すると、Remminaが開きます

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

次に、そのsshチャネルを介してRDPセッションを接続します。

ユーザー名/パスワードを使用してLinuxサーバーにログオンする場合、または別のIDファイルを使用している場合は、プロファイル設定のSSH認証セクションを変更する必要があります。

3
andrej