« GIMP2によるVNCクライアント画面の取り込み | トップページ | Internet Explorer 9を使ってみて »

2011年6月14日 (火)

Ubuntu Kubuntu : VNCをSSHのポートフォワーディングで動かす

VNCをSSHのポートフォワーディングで動かす

「SSHポートフォワーディングでVNC」あるいは「SSH VNC」をキーワードとしてGoogleで検索すると大変多くのサイトがヒットします。
  telnetやftpと一緒で、VNCもプレーンテキスト(平文)でパスワードがネットワークを流れるということで、ネットワークで危険なものの代表格として、すぐ例に出てきます。
  そんなに危険だ危険だというなら、さっさとパスワードを流すところについて、みんなで規約をまとめてくれるなんてことはなかったのか、ちょっと不思議です。
  でも、昔からUnix系の世界では、簡単なツールをパイプでつないでどんどん複雑な処理をこなしていくなんてことが格好良かったから、VNCもセキュリティについては、SSHに任せてしまえということなのかもしれません。
  以前、職場でパケットキャプチャソフトなるものを利用してLANに流れているパケットをしばらく眺めてみたことがあります。そのパケットキャプチャソフトをインストールしたばかりで、キャプチャの仕方を良く分かっていない私でも、「お~、passwordで検索すると、その前後にパスワードがありそう」みたいな感じでしたので、暗号化というのは大事なことだと思いました。(サーバ管理者が危ないやつのときには、秘密のメールは暗号化して送りましょう。)

SSHもVNCもインストールも終わって、実際に使用していたので、できてしまえば、至極簡単でした。(「できてしまえば」に含みがある・・・が)
  簡単に仕組みを説明すると、SSHでクライアントとサーバを接続すると、そこに暗号化された経路ができるので、VNCのやりとりを、その経路に載せて届けるということ(らしい)。
  私としては、SSHが宅急便の兄ちゃんで、私がAmazonへの注文書を渡すと、その兄ちゃんが厳重に封をした封筒にその注文書を入れてAmazonに届け、今度はAmazonから私に注文した品を金庫に入れて運んできてくれる、みたいなものと理解している。

Tera Termの設定

SSHの接続用のターミナルソフトとしてTera Term(Ver4.69)を使っていますので、これを使ってポートフォワーディングを実現します。
  まずTera Termを起動すると「新しい接続」ダイアログボックスが出てきますが、これはキャンセルボタンで消します。

Tera00

そしてTera Termのメニューから下図のように「SSH転送」をクリックします。

Tera01

以下の図の「SSHポート転送」ダイアログボックスでは「追加ボタン」をクリック。

Tera02

「SSHポート転送」ダイアログボックスの「ローカルポート」側にに、以下の例のように入力して「OK」ボタンをクリックします。

     
  • ローカルのポート [5900]
  •  
  • リッスン      (入力せず)
  •  
  • リモート側ホスト 192.168.13.13(←これはVNCサーバ側のIPアドレス)
  •  
  • ポート       [5900]

Tera03

ここまで設定できたら、今後のためにこの設定を保存します。Tera Termのメニューから「設定」-「設定の保存」とし、表示されている「TERATERM.INI」のままで「保存」ボタンをクリックすれば、再起動しても、同じ設定が使えるようになります。

Tera04

ここで、Tera Termのメニューの「ファイル」-「新しい接続」をクリックすると「新しい接続」ダイアログボックスが出ます。そこで「OK」ボタンをクリックして、ユーザ名とパスワードを入力して、VNCのサーバとなるPCと接続します。

その後、VNCのクライアント(「VNCビューワ」など)を起動します。

「サーバ」の欄にに「localhost」あるいは「127.0.0.1」と入力して「OK」ボタンをクリックするとサーバの画面がSSHポートフォワーディングを使わないときと同じように表示されます。

Vnconsshlogin

「localhost」(あるいはIPアドレス127.0.0.1)というのは、このVNCクライアントが認識している自分が動いているPCのことで、先ほどの宅急便の例を用いれば、ここの意味合いは、次のように理解できるのではないかと思います。

VNCのビューワさんは、注文書を渡すために自分の家(localhost)の5900番の番号のついた扉を開けます。すると、そこに注文書を待っている宅急便の兄ちゃんがいる。彼に注文書を渡すと、彼はそれを封筒にしまい厳重に封をして、192.168.13.13という郵便番号(IPアドレス)の建物に行って、5900番の扉を開けます。するとそこにはVNCサーバさんが待っているので、注文書を渡します。するとサーバさんは注文書を見て、画面の絵を宅急便のお兄ちゃんに渡します。そして、お兄ちゃんはそれを持ってビューワさんに渡しに帰ります。(たくさん繰り返す・・・)

終わりに

実は、以前にもSSHポートフォワーディングによるVNCの利用については実施したことがあり、簡単に考えておりました。
  インターネットの各サイトを見るとディスプレイ番号の話があるかと思います。以前のときは「localhost:1」という設定で繋げた記憶があり、いろいろなサイトを見ても、標準の5900ポートにディスプレイ番号を足したポートを使うという設定が書かれており、そのあたりで混乱したものか、繋がらずに苦労してしまいました。
  VNCビューワを変更してチェックし、VNCのサーバを変更して試すためにUbuntuとKubuntuで試し(vinoサーバーとKrfbサーバ)、xinetdのあるなしでも試しました。しかし、常に、RealVncビューワは「The   connection closed unexpectedly」のメッセージを出し、同時にTera Termは「SSH2_MSG_CHANNEL_OPEN_FAILUREを受信しました。チャネル[1]:理由:Connect   Failed(?)」というのが出続けておりました。Tera TermからPuttyに変更してもタイムアウトする。Real VNCからUltarVNCにクライアントを変更すると「another   user already listen」で繋がらない。/var/logを見るも全く出ておらず、vinoにlogを出す設定も分からず結構参っておりました。

そしてKung   Noi(http://nai.homelinux.net/ssh_forward.html)を見つけて、他のサイトとは違い「localhost」だけで接続していたので「あ!」と思い、修正して接続に成功した次第です。感謝。つまりディスプレイ番号相違で、サーバの違う扉をずっとノックしていたということなのでしょうかねぇ。

Kung NoiですがSSHポートフォワードの「むふふなページを自宅経由で見る」も参考になります。
  ところで「むふふなページ」にたどり着く前に、SSHのエラー関連でぐぐって(googleで検索して)いて、Action*3で、「dynamic   fowarding」というキーワードにも行き着きました。「むふふ系」は今後の課題としてあまり深く調べませんでしたが、関係がありそうなので記録しておくことにいたしました。

この記事の内容は、ほとんどKung   Noiと同じ。画像を軽くしようとデスクトップのテーマを「ハイコントラスト白」にしたら、画像は軽くなったものの、こんな情け無いページとなってしまいました。二番煎じですから、自戒もこめて、ぴったりだなと、このまま変更せずにアップロードすることにいたしました。

« GIMP2によるVNCクライアント画面の取り込み | トップページ | Internet Explorer 9を使ってみて »

Kubuntu」カテゴリの記事

Ubuntu」カテゴリの記事

システム設定」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/575454/51943360

この記事へのトラックバック一覧です: Ubuntu Kubuntu : VNCをSSHのポートフォワーディングで動かす:

« GIMP2によるVNCクライアント画面の取り込み | トップページ | Internet Explorer 9を使ってみて »

2014年11月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
無料ブログはココログ