ttt: sshでポート・フォワーディングしてVNCを使う

■ Windows上で動いているVNCサーバの場合

Windows版のVNCサーバは、Xサーバのようにディスプレイ番号の概念がないので(???)・・・というか、VNCサーバ用の画面が新たに割り当てられるのではなく、Windowsの画面がそのままVNCで使われてしまいますので・・・、ディスプレイ番号は0とみなして、5900番のポートが、デフォルトで使われています。

以下はTightVNCのVNCサーバの設定画面。薄い文字で5900と書かれています。

Sshvnc01

というわけで、Windows上のVNCサーバの場合も同様に、5900番台のポートを、sshでポートフォワーディングしてやればいいわけです。

■ teratermでVNCのポートフォワーディングをする設定

さっそく、「UTF-8 TeraTerm Pro with TTSSH2」を使ってみました。

● 例1) sshでログインしたホスト上で動いているVNCサーバにアクセスする場合

たとえば、外でWindowsを使っていて、sshでリモートのFreeBSDにログインして、そのFreeBSD上で動いているVNCサーバ(ディスプレイ番号は1)につなぐような場合です。

リモート側については、

  • IPアドレスは(sshでログインした先そのものなので)127.0.0.1
  • ポート番号は、VNCクライアントがVNCサーバにアクセスするためのポートであり、例ではディスプレイ番号が1なので、5901
  • わかりやすいので、ローカルのポートは、とりあえず5901にしておきますか

というわけで、こういう設定になります。

Sshvnc02

Sshvnc03

sshでログインして、上記のようにポートフォワーディングができるように設定しておいてから、VNCクライアントを実行します。ここでは、TightVNCのVNCクライアント(TightVNC Viewer)を実行してみました。

この例では、sshクライアントを実行しているWindowsパソコン(127.0.0.1)のポート5901に接続するので、「127.0.0.1:1」と指定します。

Sshvnc04

実際に使用するポート番号は5901なのですが、VNCでサーバを指定するときは、「:1」のように、ディスプレイ番号を指定するので「127.0.0.1:1」となります。

ところで・・・TightVNCでは、ディスプレイ番号ではなく、「::ポート番号」という形式で、ポート番号を明示的に指定することもできます。そのため、この場合、「127.0.0.1::5901」(コロンを2つ連続)という風に指定しても同じようにアクセスできます。

Sshvnc05

● 例2) sshでログインした先のネットワーク上にいる、WindowsのVNCサーバにアクセスする場合

たとえば、

  1. 家の外でWindowsを使っているときに、
  2. 自宅のFreeBSDサーバにsshでログインしてから、
  3. さらに、家庭内LAN経由で、Windowsパソコン上のVNCサーバに接続して、
  4. Windowsを家の外からリモートコントロールする、

というような使い方を想定してます(ちょっと複雑~)。

とりあえず、ここでは例として、WindowsパソコンのIPアドレスを192.168.0.23とします。

sshのポートフォワーディングは、こうなります。

  • リモート側については、
    • IPアドレスは、WindowsのIPアドレスである、192.168.0.23
    • ポート番号は、さきほどの画面例にあったように、通常、Windowsでは5900番でVNCクライアントの接続を待ちうけしているので、5900
  • ローカルのポートは、とりあえず5923にしておきますか

というわけで、こういう設定になります。

Sshvnc06

Sshvnc07

上記のようにポートフォワーディングを設定しておいてから、sshで家庭内FreeBSDサーバにログインして、VNCクライアントを実行します。

この例では、sshクライアントを実行しているWindowsパソコン(127.0.0.1)のポート5923に接続すればよくて、ディスプレイ番号は、ポート番号から5900を引き算すればいいので、「127.0.0.1:23」と指定することになります。

Sshvnc08

ポートフォワーディングの設定で、5923なんていう中途半端な番号を指定したのは、ここで、「IPアドレスが192.168.0.23のVNCサーバには:23でアクセス」ということで、わかりやすいかなぁ~と思ってのことでした。

さきほど同様に、TightVNC Viewerの場合は、「127.0.0.1::5923」と、ポート番号で指定することもできます。

Sshvnc09

(おまけ)

なんとなく、RealVNC 4.1.2のVNC Viewerでも、「IPアドレス::ポート番号」の書式を試してみたら、なんと、使えました。なーんだ、RealVNCでもいつのまにか対応してたんですね。

Sshvnc11

Sshvnc10

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中