SSHトンネルでVNC接続を安全に暗号化する方法|PuTTY・TightVNC設定ガイド
VNC(Virtual Network Computing)プロトコルを使ってリモートデスクトップに接続する場合、その接続が必ずしも安全であるとは限りません。人気の高いTightVNCなど一部のVNCクライアントでは、初回のサインイン段階以降の通信が暗号化されません。この問題を回避するには、Secure Shell(SSH)トンネル経由でVNC接続をトンネリングする方法が有効です。
SSHトンネルを利用すれば、VNC接続全体を完全に保護できるだけでなく、通常のVNCポート(ポート5901)がブロックされている環境でもVNC接続を利用できます。多くの企業ネットワークではセキュリティ強化のため、ポート5901のような一般的なポートが遮断されていることがあります。そのような場合でも、SSH経由でVNCをトンネリングすれば問題を回避できます。
PuTTYのセットアップ
Windows 10にはPowerShell経由で利用できるSSHクライアントが標準搭載されていますが、これは比較的最近追加された機能です。SSH経由でVNCをトンネリングしたい場合は、PuTTYを使ってSSHサーバーに接続することをおすすめします。
PuTTYはグラフィカルなユーザーインターフェースを備えており、VNCビューアなどの他のソフトウェアの通信を簡単にトンネリングできるよう設定できます。この方法を使うには、接続先となるリモートデスクトップPCまたはサーバーに、適切なSSHサーバーがインストールされている必要があります。
- まず、PuTTYをダウンロードしてクライアントを起動します。
- メインの「セッション(Session)」画面で、サーバーのIPアドレスまたはホスト名を入力します。「ホスト名(IPアドレス)(Host Name (or IP address))」欄にSSHサーバーのアドレスを入力してください。SSHポートが標準の22番と異なる場合は、「ポート(Port)」欄にその番号を入力します。
- セッションを保存しておくと便利です。「保存されたセッション(Saved Sessions)」欄にわかりやすい名前を入力し、「保存(Save)」ボタンをクリックします。
- 左側のメニューで「接続(Connection)」カテゴリを展開し、さらに「SSH」を展開して「トンネル(Tunnels)」をクリックします。
- 「トンネル(Tunnels)」メニューの「ポート転送(Port forwarding)」セクションで、PuTTYがVNC接続をSSH経由で転送できるようにするための情報を入力します。「送信元ポート(Source port)」欄に「5901」と入力し、「送信先(Destination)」欄には「リモートIPアドレス:5901」の形式で、リモートデスクトップPCまたはサーバーのIPアドレスを指定します。たとえば「192.168.1.100:5901」のように入力します。
- 「セッション(Session)」画面に戻り、「保存されたセッション(Saved Sessions)」で保存したセッション名を選択してから「保存(Save)」をクリックし、設定を保存します。
- 設定が完了したら、画面下部の「開く(Open)」をクリックしてSSH接続を確立します。接続時に、SSH接続用のユーザー名とパスワードの入力が求められます。
- ログインが完了すると、リモートデスクトップのSSHターミナルウィンドウにアクセスできるようになります。
リモートデスクトップサーバーへのSSHトンネルが確立されたら、VNC接続を行えるようになります。VNCクライアントはどれを選んでも構いませんが、ここではWindowsとLinux向けの無料で人気の高いVNCクライアント「TightVNC」を使った接続方法を紹介します。
接続中はPuTTYを最小化しても問題ありません。
TightVNCを使って接続する
SSH接続が有効になっていれば、TightVNCでの接続はとても簡単です。ここでは、リモートPCまたはサーバー上でVNCサーバーが稼働していることを前提として説明します。
- TightVNCを起動します。「接続(Connection)」セクションの「リモートホスト(Remote Host)」欄に「localhost::5901」または「127.0.0.1::5901」と入力します。PuTTYがこのポートを監視しており、接続試行時に自動的にリモートサーバーへ転送されます。
- 「オプション(Options)」ボタンからVNC接続の詳細設定を行うこともできますが、すぐに接続したい場合は「接続(Connect)」をクリックします。
- VNCサーバーのパスワードを求められるので、「VNC認証(VNC Authentication)」ポップアップウィンドウにパスワードを入力し、「OK」をクリックします。
SSH接続が正しく機能していれば、TightVNCにリモートのVNCデスクトップ画面が表示され、すぐに操作を始められます。
トンネリング機能を内蔵したSSHクライアント
TightVNCはWindows向けの人気VNCクライアントですが、クライアント自体にはSSHトンネリング機能が備わっていないため、PuTTYを併用する必要があります。
一方、SSHトンネリング機能をクライアント内に組み込んでいるVNCクライアントも存在します。その一例がSSVNCです。SSVNCはシンプルな作りながら、VNC接続の前にSSH経由でトンネリングを行うことができ、WindowsとLinuxの両方のOSに対応しています。
- SSVNCクライアントを起動し、メインウィンドウの必要なフィールドに入力します。「VNC Host:Display」欄に「SSHユーザー名@リモートIPアドレス:1」の形式で入力します。「SSHユーザー名」はSSH接続に使用するユーザー名に、「リモートIPアドレス」はリモートデスクトップのIPアドレスに置き換えてください。たとえば「root@192.168.1.100:1」のように指定します。
- 接続前に「Use SSH」または「SSL+SSH」オプションが選択されていることを確認してください。準備ができたら「Connect」ボタンをクリックします。
- ポップアップ表示されたターミナルウィンドウでSSHパスワードの入力を求められるので、パスワードを入力してEnterキーを押します。
SSHトンネルが確立されるとVNC接続が開始され、VNCクライアントのウィンドウが表示されます。これでリモートデスクトップの操作を始められます。
VNC接続はデフォルトでは暗号化されませんが、Microsoft独自のリモートデスクトッププロトコル(RDP)は暗号化されています。Windowsを使用していて、リモートのWindows PCやサーバーに接続する予定がある場合は、代わりに「リモートデスクトップ接続」ツールを使うのもよいでしょう。
-
CSGOの「信頼できない接続」エラーを解決する方法|原因と対策を完全解説
Counter-Strike: Global Offensive(CSGO)は2012年にリリースされた大人気のFPS(一人称視点シューティング)ゲームです。チームワーク、ガンプレイ、戦略、そして個人の経済管理が勝敗を左右する本作では、テロリストとカウンターテロリストの2チームに分かれ、さまざまなマップで異なる目標達成を目指して戦います。ラウンド終了後には仮想通貨が報酬として与えられ、次のラウンドに向けた装備購入など戦略性の高い展開が楽しめます。 しかし、スリル満点のこの名作タイトルでも、プレイ中に接続エラーが発生し、ゲーム体験を妨げることがあります。CSGOをプレイ中に「信頼できない接続(U
-
Windows 10 で SSH キーを生成する方法【標準搭載 OpenSSH を活用】
Windows 環境で SSH キーを生成するには、かつてはサードパーティ製ツールをインストールする必要があり、手順も複雑でした。しかし、Windows 10 April 2018 Update 以降は OpenSSH クライアントが標準で搭載されるようになったため、ssh-keygen コマンドだけで簡単に SSH キーを作成できるようになりました。この記事では、事前確認からキーの生成、実際の接続までの全手順をわかりやすく解説します。 事前準備:OpenSSH クライアントの確認と有効化 まず、お使いの PC に OpenSSH がインストールされていることを確認しましょう。以前のバージョ