|
|
|
|
サーバーのセットアップ
|
|
VNCサーバーの構築
|
||
VNCについてサーバー機の環境についてVNCクライアントの準備VNCサーバーの基本設定VNCサーバーのお便利設定VNCサーバーの一括起動SSH転送による暗号化接続 |
VNCの直接ポートフォワーディングはNG!!ホスト機 のパワーに幾分ゆとりがあれば、 VNC は LAN 経由ならばかなり快適に利用できますから、 構築中のLinuxサーバー の管理に使う程度であれば十分に実用になります。 また GUI での サーバー 管理に慣れてしまうと、 SSHクライアント の味気ない CUI 画面には戻りたくなくなるかもしれません。 だとすれば当然の流れとして 「外出先からでもVNCで自宅のサーバーに接続して操作できるようにしたい。」 と思うのは人情です。 |
|||||
|
VNCは利用する
ポート番号
が5900番〜、と決まっていますから、HTTPの
ポートフォワーディング
しかしこれはオススメしません。 なぜならVNCはサーバーを完全にコントロールすることが直接可能なシステムでありながら、 TELNET と同じく通信経路が暗号化されない、というのがその理由です。 |
||||||
|
|
この コンテンツ でサーバーのリモート操作に SSH を薦めているのは、その経路が強度に暗号化されているからに他なりません。 というわけですから、ここでは 構築中のLinuxサーバー に対してのVNCのポートフォワーディングを直接行う方法ではなく、SSHの暗号化通信を利用した SSH転送によるVNC接続 の方法について説明します。 SSHには、 「他の プロトコル を受け取り、暗号化してクライアントとサーバー間を送受信する。」 という仕組みがあります。
SSH転送によるVNC接続のイメージ これを利用してWAN空間からの安全なVNC接続を行おうというわけです。 この方法はVNCによる通信経路が暗号化されるだけではなくSSHで利用するポート番号をそのまま利用しますから、VNC用に新たなポートフォワーディングの設定を行う必要がないという利点もあります。
|
|||||
| このページの先頭へ↑ |
TeraTermProでのSSH転送の設定
この
コンテンツ
で紹介する方法で
sshd
の設定を行い
まだSSH接続の設定ができていない方は、
また、SSH転送での VNC 接続を行うためには、基本的なVNC接続ができていなければなりませんから、このセクションの前のページまでを参考にVNCの設定も完了させておいてください。 |
|||||
| SSHで接続可能であれば、同じ LAN 内でも別の サブネット でも WAN 越しでも構いません。 |
まず、 構築中のLinuxサーバー に接続可能な クライアント機 でSSHクライアント "TeraTermPro" を起動します。 ここで通常は新規接続の ダイアログ が開くと思いますので、とりあえず キャンセル ボタンをクリックしてダイアログを閉じます。
"TeraTermPro"の接続ダイアログを閉じる 次に、 設定(S) メニューから SSH転送(O) を選択します。
"SSH転送"を選択 すると TTSSH: ポート転送設定 のダイアログが開きますので、 追加(A) ボタンをクリックします。
"TTSSH: ポート転送設定"で追加(A)をクリック すると SSHポート転送 のダイアログが開きます。
"SSHポート転送"のダイアログ ここで 「ローカルのポート(L)」 の左のラジオボタンにチェックが入っていることを確認して、このダイアログに以下のような設定値を入力してください。 |
|||||
|
|
説明がわかりやすいように、下段のパラメータから説明します。 リモート側ホスト(M) 接続先である 構築中のLinuxサーバー の ホスト名 を設定します。SSHクライアントでサーバーに接続するときの FQDN である "web1.obenri.com" でOKです。接続先が固定の IPアドレス であれば グローバルIPアドレス を直接設定しても構いません。もちろん、サーバーが同じLAN内の場合は プライベートIPアドレス を設定することもできます。 のポート(P)
VNCサーバー側で設定される
ポート番号
を設定します。例えばVNCサーバー側でのディスプレイ番号の指定が
1
であれば、これにVNCの
Well-knownポート
である5900
ローカルのポート(L) VNCクライアントが、SSHクライアントである このTeraTremProに接続するときに使うポート番号 を設定します。 このポート番号はあくまでVNCクライアントとSSHクライアントの間で使用するものなので、 理屈としては 任意のポート番号を指定できます。必ずしもVNCサーバー側で指定されるポート番号(ディスプレイ番号)と一致させる必要はありません。 ただしVNCクライアントが利用するポート番号は、VNCのWell-knownポートである5900番以降が デフォルト になっているのが普通で、なおかつ上位の桁を省略して「ディスプレイ番号」として設定しますから、例えば [ホスト名]:2 で接続を行いたい場合は "5902" と設定します。 以下に、具体的な設定例を示します。 設定が終わったら OK ボタンをクリックします。すると以下のように TTSSH: ポート転送設定 に設定が追加されますので、再び OK ボタンをクリックします。
"SSHポート転送"が追加 これでSSH転送の設定は有効になりましたが、このままでは一度TeraTermProを終了してしまうと、設定が元にもどって(消えて)しまいますから、このSSH転送設定をそのまま利用し続けたいときはTeraTermProウインドウの 設定(S) から 設定の保存(S)... を開き、設定ファイル "TERATREM.INI をTeraTermProをインストールしたディレクトリに保存してください。 以上でSSH転送の設定は終わりです。 TeraTremPro以外のSSHクライアントを使用している場合には、その アプリケーション がSSH転送機能を実装していれば同様の方法で設定を行うことができるはずですので試してみてください。 仕組みが理解できていれば難しい設定ではないと思います。
|
|||||
| このページの先頭へ↑ |
SSH転送を使ってVNC接続を行うまず、 構築中のLinuxサーバー で Xvnc を稼動させます。 稼動させる方法は任意ですが、以下は ユーザーアカウント "tanaka" に対して ディスプレイ番号1番 でXvncが デーモン 動作していることを前提に説明します。 次に クライアント機 でTeraTermProを起動し、 構築中のLinuxサーバー に SSH で接続して 任意のユーザーアカウントで ログイン してください。 このとき、クライアント機でファイヤーウォールが有効になっている場合はTeraTermProに対してファイヤーウォールの解除を要求される場合がありますが、その場合は要求に従って解除してください。 この接続は通信経路接を確保するのが目的ですから、ログインするユーザーアカウントは "tanaka" である必要はありません。 |
|||||
|
|
次に VNC クライアント を起動して、 "localhost:2" を指定して接続を行います。
SSH転送を行う場合のVNCクライアントの接続設定 なぜ接続先の ホスト名 が "web1.obenri.com" ではなく "localhost" なのかというと、このページの冒頭でも説明したとおり、この場合の接続は直接VNCサーバーに対して行われるのではなく、 TeraTermPro を介して間接的に行われる ためです。 つまりVNCクライアントの接続先はTeraTermProということになりますが、TeraTermProはVNCクライアントと同じクライアント機で稼動しているわけですから、接続先は 自分自身 つまり "localhost" となるわけです。もちろんこの部分は ループバックアドレス である "127.0.0.1" でもOKです。 そしてこのページの前のステップで説明したとおり、TeraTermProのSSH転送設定で ローカルのポート(L) に "5902" を指定しましたから、ディスプレイ番号は "2" となるわけです。 いかがですか、うまく接続できましたか?。 どうしても接続できない場合はクライアント機のファイヤーウォールが邪魔をしているケースが考えられますので、TeraTermProに対するファイヤーウォールが解除されていない場合は解除してみてください。 これで安心してVNCによるサーバーの遠隔操作ができるようになりました。
|
|
VNCサーバーの一括起動
<<Previous
|
| このサイトに対するご意見、ご要望、苦情、泣き言、献上品、資金援助などがございましたら こちら からお寄せください(お返事できなかったらごめんなさい)。もちろん リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。 |
| ”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |