MacからUbuntu18.04へのリモート接続設定備忘録(UFW設定方法付き)


MacからUbuntu18.04へのリモートデスクトップ接続の設定方法をいつも忘れて困ってしまうので備忘録メモとしてまとめます。

検証環境

Mac: macOS 10.14.6 Mojave
Ubuntu: Ubuntu 18.04.4 LTS

環境設定 @ Ubuntu

まずはUbuntu側で設定します。

Vinoのインストール

画面共有(リモートアクセス)を有効にする為に、Vinoをインストールします。

sudo apt install -y vino

Vinoの通信を暗号化するとMacと通信出来ない不具合が有るので通信の暗号化を無効化します。

gsettings set org.gnome.Vino require-encryption false

sudoを付けている情報もネットに有りますが、正しくはsudoを付けません。

sudoを付けるとエラーが出ます。

 $ sudo gsettings set org.gnome.Vino require-encryption false
[sudo] user のパスワード: 

(process:3278): dconf-WARNING **: 23:34:23.211: failed to commit changes to dconf: 接続が閉じています

参考: デスクトップを共有する

画面共有の設定

設定画面から共有/画面共有(S)順にクリックします。必ずパスワードを要求するを選択し、パスワードを設定します。

UFWの設定

Ubuntuのファイアウォールの設定を行います。Ubuntu18にはUFW(Uncomplicated Firewall)というファイアーウォールがデフォルトでインストールされています。初期状態では非アクティブ状態なので、そのまま使用できますが、本記事ではファイアーウォールの設定を行います。

UFWの状態を確認

Desktop版の場合、初期状態では非アクティブ状態です。

$ sudo ufw status
状態: 非アクティブ

UFWを有効化

Uncomplicated Firewallを有効化します。

 $ sudo ufw enable
ファイアウォールはアクティブかつシステムの起動時に有効化されます。

状態を確認します。

$ sudo ufw status 
状態: アクティブ

To                         Action      From
--                         ------      ----

ポート5900番を開放

sudo ufw allow 5900

設定後の状態を確認します。IPv4, IPv6両方のルールが登録されます。

$ sudo ufw status | grep 5900
5900                       ALLOW       Anywhere                  
5900 (v6)                  ALLOW       Anywhere (v6)
  • 設定内容の格納先
    • IPv4: /etc/ufw/user.rules
    • IPv6: /etc/ufw/user6.rules

参考: ufwの基本操作

mDNSの設定

<USER_NAME>@<HOST_IP>ではなく、同じネットワーク上のホストへの接続なら<HOST_NAME>.localで接続出来る様にするために、mDNS(multicast DNS)をインストールします。Ubuntuではavahi-daemonをインストールします。


sudo apt install -y avahi-daemon

参考: mDNSを設定して、いちいちIPアドレスを打ち込むのをやめよう。

環境設定 @ Mac

続けてMac側の設定を行います。Mac用のリモートデスクトップソフトは標準搭載の物を用います。

接続設定

Finderを起動し、command + Kを同時に押すと以下の様なウィンドウが表示されます。上側の入力欄にvnc://<HOST_NAME>.local:5900と入力し、接続をクリックします。

ログイン画面が表示されるので画面共有の設定で設定したパスワードを入力し、サインインをクリックします。

ログインに成功するとデスクトップが表示されます。

まとめ

Macからサーバー用途に用いているUbuntuデスクトップへのリモート接続の設定方法をいつも忘れてしまい、再設定時にあちこち探し回って設定していたため、本記事では備忘録メモとしてまとめました。今後は備忘録メモも記事として投稿していこうと思います。

Reference