title

Top  >> Vine Linux Menu  >> VNC サーバ  >> SSH ポートフォワーディングでVNCを使う

SSH ポートフォワーディングでVNCを使う

 SSH ポートフォワーディングでVNCを使う手順

 VNC は、そのままでは暗号化されていない通信の一つです。 強固なファイアーウォール内限定ならばともかく、インターネットを経由しての通信を行う場合などには、危険性が一気に増大します。 VNC の通信も暗号化してセキュリティを高める方法は無いか、、、そこで登場するのが、SSH ポートフォワーディングです。 SSHポートフォワーディングでVNCを使うには、通常のSSHに加えてポートフォワーディングの設定を行う必要があります。 ここでは、ローカルマシンがWindows の場合とVine Linux の場合にわけてそれぞれ説明します。

 下記の例で使用するポートは以下のようになっています。

VNC のSSH ポートフォワーディングで使用するポートの例
ポート番号 動作
22 SSH の通信ポート
5901 ディスプレイ番号が1の場合のVNC ポート
1234 ローカルホストでSSH がメール待ち受けるポート(任意のポートを使用可能)

・  クライアントがWindows の場合

 WindowsでSSHを使用するには、PuttyやTTSSHといったツールを使用すると思われます。 これらのツールには、ポートフォワーディング機能があるので、その設定について説明します。 ここでは、SSHツールとしてPuttyを用いますが、TTSSHでも同様に設定を行えばOKです。 尚、PuttyやTTSSHの基本的な使い方は省略します。

まず、Puttyを起動して、接続先など基本的な情報を入力します。

SSH ポートフォワーディング VNC

次に、左側のカテゴリから”トンネル”の項目を選択し、”源ポート”と”送り先”の2つを入力します。 源ポートは、任意のポート番号で大丈夫です。 ここでは、例として1234番ポートに設定しています。 VNCは、ローカルマシンの任意のポートを経由してリモートマシンへと接続されます。 送り先の項目には、リモートマシンのIPアドレスと、VNCのポート番号を:(コロン)で区切って入力します。 このリモートマシンのVNCポート番号は、VNC本来の5900番にVNCサーバーのディスプレイ番号を加えたものでなければなりません。 ここでは、5900+1=5901のポートを指定しています。

SSH ポートフォワーディング VNC

入力したならば、”追加”を押して反映させます。 追加したならば、カテゴリの”セッション”の項目へ戻り、設定を保存します。 保存すれば、次回からは設定を読み出す事ができます。

SSH ポートフォワーディング VNC

設定がすべて完了したならば、その設定でSSH接続を行います。 リモートマシンへログインしたならば、VNCサーバーのサービスを起動させます。

SSH ポートフォワーディング VNC

サーバーサービスを起動したならば、そのままの状態でVNCを起動します。 VNCの接続先ですが、ポートフォワーディングを行うために、ローカルマシンに設定します。 ポート番号は、先ほどPuttyで設定した任意のポート番号(例では1234番)を指定します。
書式は、”localhost::1234”などとなります。 ローカルホストと、ポート番号の間にコロンが入りますが、2つ入る事に注意してください。 書式を間違えると接続できません。

SSH ポートフォワーディング VNC

ポートフォワーディングによってリモートマシンへ接続されると、パスワードの入力に移ります。

パスワードの入力を終えると、VNCの接続が確立されます。

SSH ポートフォワーディング VNC

SSHポートフォワーディングの際は、バックグラウンドで稼動させているSSHの通信を切断すると、VNCも強制終了になります。

SSH ポートフォワーディング VNC

これは、VNCの通信がSSHトンネルを経由している事を示しています。


・ クライアントがLinux の場合

 LinuxでSSHポートフォワーディングを使用するには、ターミナルからコマンドを実行します。 ターミナルを起動したならば、次のようにコマンドを入力します。 ここで、ローカルホストポートは任意ですが、後のVNCビューワで指定するポートと同じである必要があります。 ここでは、例として1234番ポートに設定しています。
書式は、

ssh [リモートホストのユーザ名]@[リモートホスト] -L [ローカルホストポート]:[リモートホスト]:[リモートホストポート]

あるいは

ssh -L [ローカルホストポート]:[リモートホスト]:[リモートホストポート] [リモートホスト] -l [リモートホストのユーザ名]

です。 リモートホストポートは、VNCの5900番にVNCサーバーのディスプレイ番号を加えたものです。 ここでは、5900+1=5901としています。 例えば、campus というユーザならば次のようになります。

$ ssh -L 1234:192.168.1.22:5901 192.168.1.22 -l campus

 リモートマシンに接続したならば、ログインしてVNCサーバーを起動します。 VNCサーバーを起動したならば、このSSH接続はそのままにしておきます。

SSH ポートフォワーディング VNC

VNCサーバーを起動したならば、もう一つ別なターミナルを起動します。 新たに起動したターミナルから、VNCビューワを起動します。 ビューワの接続設定には、図のようにローカルホストとポート番号を指定します。 ここでは、ポート番号は先ほどのSSHポートフォワーディングで指定した任意のポート番号と同じものを指定します。 書式は、”localhost::1234”などとなります。 ローカルホストとポート番号の間にコロンが2つ入っている事に注意してください。 書式を間違えると接続できません。

SSH ポートフォワーディング VNC

接続先が見つかると、パスワードの入力になります。

SSH ポートフォワーディング VNC

パスワードの入力を終えると、VNCの通信が確立されます。

SSH ポートフォワーディング VNC

このページのTop へ