メニュー 閉じる

Windows Server 2019 で
SSH ポートフォワーディング(トンネリング)
を使った
リモートデスクトップ接続について。

Windows Server のリモートデスクトップ接続も、セキュアにしたい。

AWS のEC2 Linux サーバーにGUI 接続する手順が書かれたドキュメントで、
SSH ポートフォワーディングを使ったリモートデスクトップ接続方法が書かれていました。

■ [AWS] 「Amazon Linux 2」に、Windows 10 からGUI で接続する。

これをWindowsServer でもやってみた。という話です。

SSH ポートフォワーディング(トンネリング)
を使った
リモートデスクトップ接続について。

鍵認証SSH 接続を設定するまでの手順です。


次に、リモートデスクトップ接続の準備です。

サーバー側で、リモート接続を有効する。

Windows ロゴマーク > 設定 > システム をクリックします。

1.「リモートディスクトップ」 をクリック。
2.「リモート デスクトップ を有効にする」をオン にします。

はーい。有効にしまーす。

必要に応じていろいろと決めてください。

ファイアウォール設定で3389を開放しない(通過させない)。

リモート接続を有効にすると、 同時にポートも開かれているので、
ファイアウォールの設定を開いて無効化します。

これで3389ポートからリモート接続することは困難になったはず。

通常のリモートデスクトップ接続ができないことを確認。

先ほど、リモート接続ポート通過用の規則を無効化しているので、
普通に接続すると、ファイアウォールにプロックされて接続できません。

SSH ポートフォワーディングを使ってリモートデスクトップ接続する。

SSH ポートフォワーディングを使ってトンネリング。

Power Shell などで下記のコマンドを実行。

<接続先のポート番号>を<自身のポート番号>に割当ています。
※実際は改行しません。

ssh -L <自身のポート番号>:localhost:<接続先のポート番号> 
 -i <秘密鍵の場所>/<秘密鍵ファイル名> <ユーザー名>@1<接続先サーバーアドレス>

実行例:

ssh -L 3389:localhost:3389 -i .ssh/id_rsa uniuni@192.168.3.29

SSH 接続した時と同じです。
Power Shell はこのまま開いておきます。
※閉じると、ポートフォワーディングが停止されます。

リモートデスクトップ接続する。

現在、サーバーの3389 ポートがローカルの3389 にマッピングされている状態ですので、
ローカルホストを指定してリモートデスクトップ接続が可能です。

接続できました。(※1)

※1:奥のVM の画面はロック画面になり、手前のリモート接続に切り替わっています。

接続状況の確認

参考までにWireshark で通信状況を確認してみました。

SSH 経由でリモートデスクトップ接続した場合。

ループバック

イーサネット

普通にリモートデスクトップ接続した場合。

ループバック

イーサネット

発生するかもしれない事例と対策について。

私の環境では起きたので、対処法をメモして置おきます。

既に進行中のコンソールセッションがあるため、、、

リモートデスクトップ接続するときに「 既に進行中のコンソールセッションがあるため、、、 」のエラーが出るときは、下記の様に接続するポートを変えてみてください。

※60000番は適当に決めてます。

 ssh -L 60000:localhost:3389 -i .ssh/id_rsa uniuni@192.168.3.29

60000 番ポートへリモートデスクトップ接続する。

しばらくすると、SSH 接続が切れて、リモートデスクトップ接続が中断してしまう場合。

サーバーのssh.config ファイルにて、下記のプロパティをコメントアウトを外して有効にする。

ClientAliveInterval 0

sshd を再起動します。

以上です。

Posted in WindowsServer

関連投稿

1件のコメント

  1. ピンバック:Windows で SSH 接続する時のまとめ。Windows 10、Windows Server 2016、2019 - .zapping

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です