← 対処の手順の一覧

VNC の接続元を家のネットワークに絞り、認証なしをやめる(Linux・ufw)

この手順で使う値

  • OS:Linux
  • ポート:5900・5901
  • 家のネットワークの例:192.168.1.0/24。コマンドの 192.168.1.0/24 は、お使いのネットワークの範囲に置き換えてください。

Pengolin のアプリでは、お使いのPCで見つかったポートとネットワークの範囲を入れた手順を表示します。

これは何か

VNC は、別の機器からこのPCの画面を見て操作する仕組みです。今は、どこからでも接続を受けるか、接続のはじめにパスワードなしの方式(None)を選べると示している状態です(ログインや画面の取得は試していません)。ここでは、ufw のファイアウォールで家のネットワーク 192.168.1.0/24 からだけ受けるようにし、認証なしの設定をやめます。VNC を使っていないなら、止めるほうが安全です。

使っているかの確かめ方

端末で次を実行します。出てきたアドレスの末尾に「:5900・5901」があれば、その番号で接続を待っています。

ss -tln

この接続で今このPCを遠隔操作していますか。

遠隔操作中にこの手順を行うと、操作中の接続が切れて戻れなくなるおそれがあります。このPCの前で作業してください。

手順

  1. 始める前に:今 VNC でこのPCを操作しているなら、ここで止めて、このPCの前で作業してください。

  2. 管理者権限が必要

    今の ufw の状態と、5900・5901番を接続元 Anywhere で許可している行がないかを見ます。

    sudo ufw status numbered
  3. 管理者権限が必要

    家のネットワーク 192.168.1.0/24 からだけ、5900・5901番への接続を許可します。必ず、広い許可を消す前・ufw を有効にする前に行います。

    sudo ufw allow proto tcp from 192.168.1.0/24 to any port 5900
    sudo ufw allow proto tcp from 192.168.1.0/24 to any port 5901
  4. 管理者権限が必要

    手順2で見つけた、接続元が Anywhere の 5900・5901番の行を消します。sudo ufw delete のあとに、sudo ufw status numbered で出る行の番号を付けて実行します。消すたびに sudo ufw status numbered で見直します。

  5. 管理者権限が必要

    手順2で ufw が有効になっていなかった場合だけ、ufw を有効にします。

    sudo ufw enable
  6. TigerVNC を使っている場合は、設定ファイルの securitytypes= の行や起動オプションの SecurityTypes に None が入っていれば消します。None はパスワードなしで入れる設定です。設定ファイルは、Ubuntu の tigervncsession では /etc/tigervnc/vncserver-config-defaults、/etc/tigervnc/vncserver-config-mandatory、~/.vnc/tigervnc.conf(ないときは ~/.vnc/config)、TigerVNC 公式の vncsession では ~/.config/tigervnc/config です。消したあと VNC サーバーを起動し直します。

  7. ルーターの管理画面で、ポート開放(ポートフォワード)の設定に 5900・5901番の転送が残っていれば消します。画面はメーカーごとに違うため、ルーターの説明書を見てください。

  8. もう一度 Pengolin で診断して、VNC の項目が出なくなったことを確かめます。

直したら、もう一度診断すると確かめられます

アプリで診断する

出典

確認日:2026-11-03