開発運用

Debian 10 VNC設定ガイド

VNC (Virtual Network Computing) は、リモートコンピュータにアクセスするための非常に便利なツールであり、特にサーバー管理やヘッドレスシステム(モニターが接続されていないシステム)で使用されます。Debian 10(Buster)におけるVNCのインストールと設定について、以下にその詳細な手順を説明します。

1. 必要なパッケージのインストール

まず、VNCサーバーをインストールするために、Debian 10に必要なパッケージをインストールする必要があります。これには、tightvncserverというVNCサーバーソフトウェアが含まれます。ターミナルを開き、以下のコマンドを実行します。

bash
sudo apt update sudo apt install tightvncserver

これで、VNCサーバーのインストールが完了します。

2. VNCサーバーの初期設定

インストールが完了したら、VNCサーバーを初めて実行するために設定を行います。最初に実行すると、VNCサーバーはパスワードの設定を求めてきます。このパスワードは、リモート接続する際に使用されます。以下のコマンドを実行して、VNCサーバーを開始します。

bash
vncserver

プロンプトが表示されたら、VNC接続のパスワードを設定します。パスワードは6文字以上にする必要があります。また、セキュリティの観点から、ビューア用の読み取り専用パスワードも設定することをお勧めします。

パスワードを設定した後、VNCサーバーはデフォルトでディスプレイ番号 :1 で起動します。1 はVNCサーバーのインスタンス番号であり、複数のセッションを開く場合に異なる番号を使用します。

3. VNCサーバーの設定ファイルの編集

VNCセッションの設定をカスタマイズするために、~/.vnc/xstartup ファイルを編集します。このファイルを開くには、以下のコマンドを使用します。

bash
nano ~/.vnc/xstartup

このファイルには、VNCサーバーが起動する際に実行されるコマンドが記述されています。デフォルトでは、Xウィンドウマネージャーが起動しないことがありますので、以下のように設定を追加します。

bash
#!/bin/sh xrdb $HOME/.Xresources startxfce4 &

ここで startxfce4 & は、軽量なデスクトップ環境「XFCE」を起動するためのコマンドです。もし他のデスクトップ環境を使用したい場合は、この部分を変更してください(例: startlxdegnome-session など)。

設定を保存してファイルを閉じた後、ファイルに実行権限を付与します。

bash
chmod +x ~/.vnc/xstartup

4. VNCサーバーの再起動

設定が完了したら、VNCサーバーを再起動して変更を反映させます。

bash
vncserver -kill :1 vncserver :1

これで、VNCサーバーが再起動され、新しい設定が適用されます。

5. ファイアウォールの設定

VNCサーバーは通常、5901番ポート(ディスプレイ番号 :1 に対応)で通信します。ファイアウォールが有効になっている場合、このポートが開いていることを確認する必要があります。以下のコマンドでポート5901を開放します。

bash
sudo ufw allow 5901/tcp

これで、リモート接続のためにポートが開放されます。

6. VNCクライアントで接続する

VNCサーバーの設定が完了したら、VNCクライアントを使ってリモート接続できます。接続には、VNCクライアントをインストールし、サーバーのIPアドレスとディスプレイ番号を指定します。例えば、サーバーのIPアドレスが 192.168.1.100 で、ディスプレイ番号が :1 の場合、VNCクライアントで接続する際に以下のアドレスを入力します。

makefile
192.168.1.100:1

VNCクライアントを起動し、先ほど設定したパスワードを入力すると、デスクトップ環境が表示され、リモート操作が可能になります。

7. VNCサーバーの自動起動設定(オプション)

サーバーが再起動した際に、VNCサーバーが自動的に起動するように設定することができます。これには、systemd のサービスユニットを作成します。以下の手順に従ってください。

まず、/etc/systemd/system/ に新しいサービスファイルを作成します。

bash
sudo nano /etc/systemd/system/[email protected]

このファイルに以下の内容を追加します。

ini
[Unit] Description=Start TightVNC server at startup After=network.target [Service] Type=forking User=<ユーザー名> PAMName=login PIDFile=/home/<ユーザー名>/.vnc/%H%i.pid ExecStart=/usr/bin/vncserver %i ExecStop=/usr/bin/vncserver -kill %i [Install] WantedBy=multi-user.target

<ユーザー名> の部分を実際のユーザー名に置き換えてください。ファイルを保存して閉じた後、サービスをリロードし、自動起動を有効にします。

bash
sudo systemctl daemon-reload sudo systemctl enable [email protected] sudo systemctl start [email protected]

これで、サーバーが再起動してもVNCサーバーが自動的に起動するようになります。

8. セキュリティの強化

VNC接続はセキュリティが弱い場合があるため、SSHトンネルを利用して接続を暗号化することを強くお勧めします。SSHトンネルを使用することで、VNC接続を安全に行うことができます。

SSHトンネルを作成するには、以下のコマンドを使用します。

bash
ssh -L 5901:localhost:5901 <ユーザー名>@<サーバーのIPアドレス>

その後、VNCクライアントを localhost:1 に接続すると、暗号化されたVNCセッションが確立されます。

まとめ

Debian 10にVNCサーバーをインストールし、設定するための基本的な手順を紹介しました。VNCはリモートデスクトップ環境にアクセスするための便利なツールですが、セキュリティを確保するためにはSSHトンネルを使用することをお勧めします。また、VNCサーバーを自動起動させるために、systemd のサービス設定も行うことができます。

Back to top button