# 使用 Tailscale 讓 MacBook 遠端連線至另一個 LAN 內的 Ubuntu 想從我的 MacBook Air 遠端連線到一台裝了 Ubuntu 的桌機,研究了一下,發現可以用 Tailscale 讓 Ubuntu 桌機跟我的 MacBook Air 即使實際上不是在同一個 LAN 內,但還是可以讓他們看起來像是在同一個 LAN 裡面! 只要我的裝置,也就是我的 MacBook Air 和 Ubuntu 桌機都安裝 Tailscale,並且登入同一個 Tailscale 帳號,就能透過 WireGuard VPN 分配 virtual 的 private IP 給我的裝置,我的裝置就可以看起來像在同一個 LAN 裡面,這樣我的 MacBook Air 就可以用 ssh 連到 Ubuntu 桌機,或者用其他軟體遠端桌面到我的 Ubuntu 桌機~ <!-- ![Screen Shot 2024-08-08 at 5.59.38 PM](https://hackmd.io/_uploads/HyAEDffqC.png) --> ## Ubuntu 安裝 Tailscale > https://tailscale.com/download/linux/ubuntu-2204 主要就依照 Tailscale 官網的說明來安裝就好了~ 1. Add Tailscale's package signing key and repository: ```shell $ curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/jammy.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null $ curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/jammy.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list ``` 2. Install Tailscale: ```shell $ sudo apt-get update $ sudo apt-get install tailscale ``` 3. Connect your machine to your Tailscale network and authenticate in your browser: ```shell $ sudo tailscale up ``` 執行此步驟後會跳出網址,點進去該網址做驗證,如下圖: ![Screenshot from 2024-08-09 10-58-54 (1)](https://hackmd.io/_uploads/HkzUUbX5A.png) 登入 Tailscale 帳號: ![image](https://hackmd.io/_uploads/SyUFIbX50.png) 4. 用以下指令查看 Ubuntu 桌機被分配到的 private IP 是多少: ```shell $ tailscale ip -4 ``` ## MacBook 安裝 Tailscale > https://tailscale.com/download/mac 1. 至 Tailscale 官網下載 Tailscale: ![image](https://hackmd.io/_uploads/SyVnN-QcA.png) 2. 安裝過程就無腦安裝即可~ ![image](https://hackmd.io/_uploads/SJWCEPf5C.png) ![image](https://hackmd.io/_uploads/By0RNPz50.png) ![image](https://hackmd.io/_uploads/rymgrPfc0.png) 3. 安裝完之後就開啟 Tailscale: ![Screen Shot 2024-08-08 at 11.33.33 PM](https://hackmd.io/_uploads/S1vPHwGqC.png) 4. 這時會自動開啟瀏覽器,要你登入 Tailscale 帳號,就登入跟前面 Ubuntu 桌機登入的同一個 tailscale 帳號~ ![image](https://hackmd.io/_uploads/Bki5rvG5C.png) 會跟你說目前正要把這台 MacBook Air 連接到這個 Tailscale 帳號~點 `Connect`: ![image](https://hackmd.io/_uploads/HJaMLvMq0.png) 5. 連接成功後就可以看到自己的 Tailscale 帳號內目前有哪些裝置: 可以看到我的 Ubuntu 桌機被 assign 到的 private IP 是 `100.95.167.40` ![image](https://hackmd.io/_uploads/rkHzDDfq0.png) 6. 接下來就可以從 MacBook 用 ssh 連 `100.9.167.40` 就可以連到我的 Ubuntu 桌機啦~ ![image](https://hackmd.io/_uploads/HkYgdwGcA.png) ## MacBook Air 遠端桌面連線到 Ubuntu 前面透過 Tailscale 讓 Macbook Air 跟 Ubuntu 桌機看起來像是在同一個 LAN 裡面了,接下來就可以遠端桌面連線啦~ ## Ubuntu 開啟 Remote Desktop 功能 1. 點選 Ubuntu 桌面右上角,然後點選齒輪的那個 icon: ![image](https://hackmd.io/_uploads/BJkKx4XcC.png) 2. 這時會開啟 `Settings` 的選單,我的 Ubuntu 版本是 24.04,若要設定 `Remote Desktop` 則要先點左側欄位的 `System`,才能看到 `Remote Desktop` 的設定: ![image](https://hackmd.io/_uploads/Sy56gEX9R.png) 3. 開啟 `Desktop Sharing` 和 `Remote Control` 的選項。 `Login Details` 的部分就可以設定其他裝置遠端桌面連線到此 Ubuntu 時要輸入的 `Username` 和 `Password`: ![image](https://hackmd.io/_uploads/B1HNWEXcR.png) ## MacBook Air 透過 Microsoft Remote Desktop 遠端桌面連線到 Ubuntu 1. 在 App Store 搜尋 Microsoft Remote Desktop,並安裝它: ![image](https://hackmd.io/_uploads/By4DAQX50.png) 2. 開啟 Microsoft Remote Desktop,並點選 `Add PC`: ![image](https://hackmd.io/_uploads/H1PFiQQcA.png) 3. `PC name` 的部分輸入 Tailscale 分配給 Ubuntu 桌機的 private IP: ![image](https://hackmd.io/_uploads/r1F2oQXcA.png) 4. 輸入剛剛在 Ubuntu 設定 `Remote Desktop` 時所設定的 `Login Details` 的 username 和 password: ![image](https://hackmd.io/_uploads/SkKAsX7qR.png) 5. `Continue`: ![image](https://hackmd.io/_uploads/By3yh7XqR.png) 6. 連線成功的話在主選單就會多了一台 PC,點它就可以遠端桌面連線到 Ubuntu 桌機啦: ![image](https://hackmd.io/_uploads/BkJmAQmqA.png) ![Screen Shot 2024-08-09 at 1.56.54 PM (1)](https://hackmd.io/_uploads/B1weg4m5A.png) <!-- ![Screen Shot 2024-08-09 at 1.47.28 PM (1)](https://hackmd.io/_uploads/rJb2CmQ90.png) --> :::info PS. 使用遠端桌面時,Ubuntu 桌機必須接著螢幕,且不可是鎖定狀態 :::