SSHポートフォワーディングを利用したリモートデスクトップ接続

やりたいこと~RDPの鍵認証~

リモートデスクトップでWindows Serverに、パスワード認証よりセキュアな鍵認証で繋ぎたい、と思いました。
https://www.kagoya.jp/howto/rentalserver/ssh/

普通に鍵認証すりゃいいじゃん、と思ったのですが、なんとリモートデスクトップって鍵認証ができない。
まじかよ・・・。
そう思っていたらどうやらSSHトンネリング(ポートフォワーディング)というものを使うのがメジャーらしい。
https://dev.classmethod.jp/articles/rdp-over-ssh-without-linux-bastion/

SSHトンネリングってなんぞ?と思っていたがかなり簡単な概念だった。
[クライアント] –SSHトンネル– [踏み台サーバ] —RDP— [Windows Server]

なるほど。
踏み台サーバとWindows Serverの経路はしっかり制限することは言うまでもないだろう。※Windows Serverは踏み台サーバのIPのみ許可するなど
これであれば実質鍵認証でのログインといえるわけだ。

作業記録

とりあえずやってみた。

Tera Termの場合

①EC2(今回はamazonlinux2)作成
②Windows Server作成
③teratermでamazonlinux2に接続 (初期のec2-userでログイン。別途鍵ユーザ作ってもよいだろう)
④teratermでSSHポート転送:ローカルのポート[13389]、リモート側ホスト[10.0.3.105],ポート[3389]
⑤リモートデスクトップ:[コンピュータ]127.0.0.1:13389 -> [接続]

参考:http://mzgkworks.com/post/aws-windows-ssh-portfowarding/

teratermを繋いだままにしないといけないのが欠点か。

Rloginの場合

ただ、rloginにしてやると若干簡単になる。

SSHポートフォワード設定
[●] Local
Host Name 127.0.0.1 Port 13389

Connect
Host Name 10.0.3.105 Port 3389

多少は楽になった。