リモートからリモートデスクトップを使う(暗号化付き)

何かと便利なので。

    • -

使うPCは全部で3台。

  • 自分の目の前にあるPC一台(Aとする)。
  • どこかにあるPC2台(Linux(Bとする)とWindows(Cとしよう))。

前提条件。

  • すべて電源が入っていること
  • Linuxは外から見えていること(ダイナミックDNSとかを使う)
  • Linux上でSSHデーモンが動いていて外部からアクセスできること
  • Windowsリモートデスクトップのアクセスを許可していること
  • BとCが同じサブネット内にあること(これはよくわからないけど)

おっと、けっこう多いな。
ここでは、

B
takatoshi.dyndns.org
C
192.168.1.11

です。
まずAからB経由でCにSSHトンネリングする。A上で

ssh -L40099:192.168.1.11:3389 takatoshi.dyndns.org -l <ユーザー名>

「40099」はAのポート(ほかのアプリが使ってなければなんでもいい)。
「3389」はリモートデスクトップのポート。
「-l <ユーザー名>」でLinuxにログイン。
これでパスワードとかを入れてログインできればまず第一段階を突破。
シェルじゃなくてPoderosaを使う場合は[ツール]-[ポートフォワーディングツールの起動]を選択して同じようなことをする。
次にリモートデスクトップでローカルの40099にアクセスします。
リモートデスクトップを起動して

localhost:40099

を指定。
こうするとSSHトンネルを通ってリモートにあるWindowsまで届きます。
実際にやってみたところうまく行ってるので多分これでいいはず。
第2段階は1発で行かなくて2,3回やり直しました。

    • -

リモートデスクトップの通信はSSHで暗号化されているので(たぶん)安全です。