LANDISK HACKING DIARY
Since2005/8/17
TOPへ戻る
     SSHポートフォワーディングによるVNC通信の暗号化(安全にPC遠隔操作)
 

 

外部から自宅にあるマシンを遠隔操作するのにVNCがよく使われるが、VNC通信はデフォルトでは暗号化されていないので通信を盗聴される危険性がある。VNCを使った事がある方ならすぐにわかると思うが、ログインパスワードさえ知られてしまえば誰にでも簡単に遠隔操作をする事ができるようになってしまう。ここでは、SSHポートフォワーディングを利用してVNCの通信を暗号化し、安全に遠隔操作をする方法について解説していく。

前提として、外部インターネットから接続するクライアントマシンA(Windows)、SSHサーバーとして稼動するサーバーB(debian)、サーバーBのLAN内で稼動するクライアントマシンC(Windows)のような状況を想定する。ここでは、クライアントマシンAからクライアントマシンCを遠隔操作する方法について説明する。

A:外部インターネットから接続するクライアントマシンA(Windows)
B:SSHサーバーとして稼動するサーバーB(debian)
C:サーバーBのLAN内で稼動するクライアントマシンC(Windows)


■クライアントマシンAとクライアントマシンC にVNCをインストール

ここでは、VNCに Tight VNC を使って説明していく。ダウンロードはこちらから

クライアントマシンAに VNCクライアントをインストールし、クライアントマシンCにVNCサーバーをインストールする。ここでは、Tight VNCのインストール方法や設定についての解説は割愛させていただく。クライアントマシンAには、VNC Viewer が、クライアントマシンCにはVNC Sererがすでにインストールされているものとして解説を進めていく。Tight VNC についての説明は筆者の別サイト「TightVNCによるVNCサーバーの構築」を参考にしてほしい。


■クライアントマシンAの設定

クライアントマシンAから クライアントマシンCを操作するわけなので、クライアントマシンAで Portfowarder を使ってSSHポートフォワーディングの設定をする。Portfowarder についての説明は「SSHポートフォワーディングでメールの送受信」を参照。まず、config ファイルに以下のように記述をする。

Host landisk
    HostName 219.xxx.yyy.zzz
    User kororo
    LocalForward 6000 192.168.50.4:5900

上記の設定を簡単に説明すると、「HostName」項では、SSHサーバーである「サーバーB」のグローバルIPアドレスを指定する。

2行目の「User」では、サーバーB内に存在するユーザ名を記述する。

LocalForward 6000 192.168.50.4:5900」 では、クライアントマシンAが使用するローカルのポート番号を6000番(任意)とする。「192.168.50.4:5900」では、サーバーBのLAN内に存在するクライアントマシンC のローカルIPアドレスを指定する。 Tight VNCはデフォルトで5900番を使用するため、192.168.50.4:5900 となる。

ここまでの設定を終えたら、PortFowarder を起動し、「Connect」する。


あとは、クライアントマシンA側でTight VNC Viewer を起動し、クライアントマシンC に接続するだけだ。接続するIPアドレスは、クライアントマシンA自身のIPアドレスである必要があるので、「localhost:6000」で接続する。正常に接続できれば、パスワード入力画面になるはずなので、VNCサーバーであるクライアントマシンCで設定したVNC用パスワードを入力する。接続に成功し、クライアントマシンCのデスクトップ画面が表示されれば、SSHポートフォワーディングによるVNC通信の暗号化は成功である。





TOPへ戻る
 
Copyright © KORO All Rights Reserved.