Virtual Network Computing(VNC )プロトコルを使用してリモートデスクトップに接続している場合は、接続が安全でない可能性があります。人気のあるTightVNC(TightVNC)などの一部のVNCクライアントは、最初のサインイン段階を超えて接続を暗号化しません。この問題を回避するには、 Secure Shell(SSH)トンネルを介してVNC接続をトンネリングします。
SSHトンネルは(SSH)VNCに完全に安全な接続を提供するだけでなく、一般的なVNCポート(ポート5901)がブロックされているときにVNC接続を使用することもできます。一部の企業ネットワークは、セキュリティを強化するためにポート5901などの共通ポートをブロックするため、 SSH経由で(SSH)VNCをトンネリングすると、この問題を回避できます。
PuTTYのセットアップ(Setting Up PuTTY)
Windows 10には、 Windows PowerShellのおかげでSSHクライアントが組み込まれていますが、これは最近の開発にすぎません。SSHを介してVNCをトンネリングする方法を知りたい場合は、 PuTTYを使用して(PuTTY)SSHサーバーに接続することをお勧めします。
PuTTYは、接続を介して(PuTTY)VNCビューアなどの他のソフトウェアをトンネリングできるように簡単に構成できるグラフィカルユーザーインターフェイスを提供します。これを機能させるには、リモートデスクトップPCまたはVNC(VNC)経由で接続しようとしているサーバーに適切なSSHサーバーをインストールする必要があります。
- 開始するには、 PuTTY(PuTTY)をダウンロードしてクライアントを開きます。
- メインのセッション(Session )メニューでは、サーバーのIPアドレスまたはホスト名を入力できます。[ホスト名(またはIPアドレス)](Host Name (or IP address))テキストボックスにSSHサーバーアドレスを入力します。SSHポートが標準ポート22と異なる場合は、[ポート](Port)ボックスにこれを入力します。
- このセッションも保存する必要があるため、[保存されたセッション]テキストボックスに(Saved Sessions)SSH接続に適切な名前を追加し、 [保存(Save)]ボタンをクリックします。
- 左側のメニューで[接続(Connection)]タブを展開し、SSHに対して同じ操作を行います。トンネル(Tunnels)をクリックします。
- [トンネル(Tunnels)]メニューの[ポート転送(Port forwarding)]セクションで、PuTTYが(PuTTY)SSH経由で(SSH)VNC接続をトンネリングできるようにするための詳細を提供します。[送信元ポート]テキストボックスに「5901」と入力します。[(Source port)宛先](Destination)テキストボックスに、リモートデスクトップPCまたはサーバーのIPアドレスを使用してリモートIPアドレス:5901を入力します(remote IP address:5901)。たとえば、192.168.1.100:5901が適しています。
- [セッション(Session)]セクションに戻り、[保存されたセッション]の下にある保存(Saved Sessions)されたセッション名をクリックし、 [保存(Save)]をクリックして設定を保存します。
- PuTTY設定の準備ができたら、下部にある[開く]をクリックしてSSH接続(Open)を(SSH)確立します。PuTTYが試行するときに、 SSH接続を確立するために必要なユーザー名とパスワードを挿入する必要があります。
- ログインプロセスが完了すると、リモートデスクトップのSSHターミナルウィンドウにアクセスできるようになります。(SSH)
リモートデスクトップサーバーへのSSHトンネルがアクティブになると、 (SSH)VNC接続を確立できるようになります。選択した任意のVNCクライアントを使用できますが、このガイドでは、 WindowsおよびLinux用の人気のある無料のVNCクライアントであるTightVNCを使用して接続する方法について説明します。
接続がアクティブな間は、PuTTYを最小化できます。
TightVNCを使用した接続(Connecting Using TightVNC)
SSH接続がアクティブな場合、TightVNCを使用した接続は非常に簡単です。これは、 VNC(VNC)サーバーがリモートPCまたはサーバーで実行されていることを前提としています。
- TightVNCを開いて開始します。[接続(Connection)]セクションで、 [リモートホスト](Remote Host)テキストボックスに「localhost::5901 」または「 127.0.0.1::5901 」と入力します。(127.0.0.1::5901)PuTTYはこのポートを監視しており、試行が行われると、この接続をリモートサーバーに自動的に転送します。
- [オプション]をクリックして(Options)VNC接続をさらに構成できますが、接続する準備ができている場合は、[接続(Connect)]をクリックします。
- VNCサーバーのパスワードの入力を求められるので、[ VNC認証(VNC Authentication)]ポップアップウィンドウでパスワードを入力し、[ OK ]をクリックします。
SSH接続が正しく機能している場合、 TightVNCはリモート(TightVNC)VNCデスクトップウィンドウ をロードして、使用できるようにする必要があります。
トンネリングをサポートするSSHクライアント(SSH Clients With Tunneling Support)
TightVNCはVNC接続用の一般的な(VNC)Windowsクライアントですが、クライアント自体の内部でSSHトンネリングをサポートしていないため、接続を確立するにはPuTTYを使用する必要があります。
ただし、他のVNCクライアントには、クライアント自体にSSHトンネリングが含まれています。一例はSSVNCで、これは基本的ですが、 VNC接続を確立する前にSSHを介してトンネリングします。(SSH)SSVNCは、 (SSVNC)WindowsおよびLinuxオペレーティングシステムでサポートされています。
- SSVNCクライアントを開き、メインのSSVNCクライアントウィンドウ内で、必須フィールドに入力します。VNC Host:Displayの下に、SSHusername@remoteIPaddress:1. SSHusernameをSSH接続に使用するユーザー名に置き換え、 remoteIPaddress(SSHusername)をリモートデスクトップIPアドレスに置き換えます。(remoteIPaddress)たとえば、root @ 192.168.1.100:1です。
- 接続する前に、[ SSH(Use SSH)またはSSL+SSL を使用する]オプションを選択していることを確認してください。準備ができたら、[接続(Connect)]ボタンをクリックします。
- ポップアップターミナルウィンドウでSSHパスワードの入力を求められます。パスワードを入力し、キーボードのEnterキーを押します。
SSHトンネルがアクティブになると、VNC接続(VNC)が開始され、リモートデスクトップの使用を開始できる VNCクライアントウィンドウが表示されます。(VNC)
VNC接続はデフォルトでは暗号化されていませんが、Microsoft独自のリモートデスクトッププロトコル は(is)暗号化されています。Windowsを実行していて、リモートのWindows PCまたはサーバーへの接続を計画している場合は、代わりにリモートデスクトップ接続(Remote Desktop Connection)ツールを使用して接続できます。
How to Tunnel VNC over SSH
If you’re connecting to a remote desktop using the Virtual Network Computіng (VNC) protocol, your connection might not be secure. Some VNC clients, like the popular TightVNC, don’t encrypt your connection beyond the initial sign-in stage. To get around the problem, you can tunnel a VNC connection over a Secure Shell (SSH) tunnel.
Not only does an SSH tunnel provide an entirely secure connection for VNC, but it also allows you to use VNC connections when the typical VNC port (port 5901) is blocked. Some corporate networks will block common ports like port 5901 for extra security, so tunneling VNC over SSH would allow you to get around this problem.
Setting Up PuTTY
Windows 10 does have an SSH client built-in, thanks to the Windows PowerShell, but this is only a recent development. If you want to know how to tunnel VNC through SSH, it’s recommended you use PuTTY to make the connection to your SSH server.
PuTTY offers a graphical user interface that can easily be configured to allow you to tunnel other software, like your VNC viewer, over the connection. For this to work, you’ll need to have a suitable SSH server installed on the remote desktop PC or server you’re looking to connect to over VNC.
- To start, download PuTTY and open the client.
- The main Session menu allows you to type your server IP address or hostname. Type your SSH server address in the Host Name (or IP address) text box. If your SSH port is different from the standard port 22, type this in the Port box.
- You’ll also want to save this session, so in the Saved Sessions text box, add a suitable name for your SSH connection, then click the Save button.
- In the left-hand menu, expand the Connection tab, then do the same for the SSH. Click on Tunnels.
- In the Port forwarding section of the Tunnels menu, you’ll be providing the details to allow PuTTY to tunnel your VNC connection over SSH. In the Source port text box, type 5901. In the Destination text box, type your remote IP address:5901, using the IP address of the remote desktop PC or server. For instance, 192.168.1.100:5901 would be suitable.
- Return to the Session section, click on your saved session name under Saved Sessions, then click Save to save your settings.
- With your PuTTY settings ready, make the SSH connection by clicking Open at the bottom. You’ll be required to insert the username and password required to make your SSH connection as PuTTY makes the attempt.
- Once the login process is complete, you’ll be given access to the SSH terminal window for your remote desktop.
With the SSH tunnel to your remote desktop server active, you’ll now be able to make a VNC connection. You can use any VNC client you choose, but this guide will run through how to connect using TightVNC, a popular and free VNC client for Windows and Linux.
You can minimize PuTTY while the connection is active.
Connecting Using TightVNC
If your SSH connection is active, connecting using TightVNC is pretty simple. This assumes that your VNC server is running on your remote PC or server.
- Open TightVNC to begin. In the Connection section, type localhost::5901 or 127.0.0.1::5901 into the Remote Host text box. PuTTY is monitoring this port and will automatically forward this connection, when the attempt is made, to your remote server.
- You can configure your VNC connection further by clicking Options but, if you’re ready to connect, click Connect.
- You’ll be asked for your VNC server password, so provide this in the VNC Authentication pop-up window, then click OK.
If your SSH connection is working correctly, TightVNC should load your remote VNC desktop window, ready for you to use.
SSH Clients With Tunneling Support
While TightVNC is a popular Windows client for VNC connections, it doesn’t support SSH tunneling within the client itself, requiring you to use PuTTY to make the connection.
Other VNC clients, however, do include SSH tunneling within the client itself. One example is SSVNC which, while basic, will tunnel over SSH before making a VNC connection. SSVNC is supported by Windows and Linux operating systems.
- Open the SSVNC client and, within the main SSVNC client window, fill in the required fields. Under VNC Host:Display, type SSHusername@remoteIPaddress:1. Replace SSHusername with the username you’d use for your SSH connection, and replace remoteIPaddress with your remote desktop IP address. For example, [email protected]:1.
- Make sure you select the Use SSH or SSL+SSL option before you connect. When you’re ready, click the Connect button.
- You’ll be asked for your SSH password in a pop-up terminal window. Provide your password, then press enter on your keyboard.
Once the SSH tunnel is active, your VNC connection will begin, and your VNC client window should appear, where you can begin using your remote desktop.
While VNC connections aren’t encrypted by default, Microsoft’s own Remote Desktop Protocol is encrypted. If you’re running Windows and you’re planning on connecting to a remote Windows PC or server, you can connect using the Remote Desktop Connection tool instead.