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
多少は楽になった。