その1その2では、SSHトンネルを張るための中継サーバを作成・設定しました。ここではいよいよSSHトンネルを張って、遠隔操作をしてみましょう。まずはMacにてVNCを使用した例です。

 

3. 遠隔操作対象パソコンから中継サーバに対してSSHトンネルを張る

安全な遠隔操作には2本のSSHトンネルが必要ですが、まずは遠隔操作対象パソコンから中継サーバに対してSSHトンネルを張りましょう。

$ ssh -R 55900:localhost:5900 aws-relay-server
Last login: Sun Jun 25 01:56:28 2017 from xxxxx.xxxx.ne.jp

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2017.03-release-notes/

中継サーバ(aws-relay-server)の55900番ポートにアクセスしたら、遠隔操作対象パソコン(localhost)の5900番(VNC)ポートに転送する、というSSHトンネル1が張られました。

-Rオプションはコマンドを実行したパソコンとは逆側のSSHログイン先のパソコン(今回は中継サーバ)からコマンドを実行したパソコンへ向かって逆向きにSSHトンネルを張るというオプションです。

 

 

4. 遠隔操作をする場所のパソコンから中継サーバに対してSSHトンネルを張る

つぎに遠隔操作をする場所のパソコンから中継サーバに対してSSHトンネルを張りましょう。

$ ssh -L 5901:localhost:55900 aws-relay-server
Last login: Sun Jun 25 01:56:28 2017 from xxxxx.xxxx.ne.jp

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2017.03-release-notes/

遠隔操作をする場所のパソコンの5901番ポートにアクセスしたら、中継サーバ(aws-relay-server)の55900番ポートに転送する、というSSHトンネル2が張られました(注記:localhost:55900の”localhost”は、中継サーバにおけるlocalhostのことです。紛らわしいですが)。

-Lオプションはコマンドを実行したパソコンからSSHログイン先のパソコン(今回は中継サーバ)へ向かって順方向にSSHトンネルを張るというオプションです。

これで2本のSSHトンネルが張られ、遠隔操作をする場所のパソコン(localhost)の5901番ポートにアクセスしたら、中継サーバ(aws-relay-server)の55900番ポートを経由して、遠隔操作対象パソコンの5900番ポート(VNC)へ転送されるようになりました。

5. VNCで接続してみる

いよいよ遠隔操作ができる環境が整いました。早速、Mac標準のVNCで遠隔接続してみましょう。

-1. 遠隔操作をする場所のパソコンでFinderを開く

-2. 移動、サーバへ接続を表示

-3. vnc://localhost:5901 を入力して接続

 

遠隔操作対象のPCの画面が表示されれば成功です。遠隔ログインできない場合は、遠隔操作対象PCの画面共有(システム環境設定−共有−画面共有)が有効になっているか確認してみてください。

aws-relay-server以外はプライベートIPしか持っていなくても安全に遠隔操作できるようにすることができました。

 

 

6. Windowsのリモートデスクトップはどうするの?

ここではSSHが標準で利用できて設定が簡単なMacを例として取り上げました。ではWindowsでリモートデスクトップを利用するにはどうしたら良いでしょうか?Windowsを使う場合は、TeraTermやPuttyなどのSSHクライアントのインストールが必要ですが基本的なやり方は一緒だと思います。

違うところは、SSHトンネルのポートです。WindowsはVNCではなくRDP(3389番ポート)が標準なので、ここだけ変える必要があります。ただ、Macみたいなconfigが使えるか不明なのでコマンドをベタ打ちしてみます。aws-key.pemは実際にファイルがある場所を指定してください。

・遠隔操作対象パソコン

$ ssh -p 80 -i ./aws-key.pem -R 53389:localhost:3389 ec2-user@13.113.212.xxx

・遠隔操作をする場所のパソコン

$ ssh -p 80 -i ./aws-key.pem -L 53389:localhost:53389 ec2-user@13.113.212.xxx

あとはリモートデスクトップを開いて「localhost:53389」と打てば良いはずです。

 

 

ポートに穴を開けることなく安全なリモートデスクトップ環境を構築しよう(その3)

コメントを残す

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)