跳至內容

如何透過 GUI 存取 EC2 macOS 執行個體?

3 分的閱讀內容
0

我在專用主機上擁有一個 Amazon Elastic Compute Cloud (Amazon EC2) macOS 執行個體。我想透過圖形使用者界面 (GUI) 存取執行個體。

解決方法

以下步驟已在 macOS Ventura 13.7.5、macOS Sonoma 14.7.5 和 macOS Sequoia 15.4.1 上測試過。

**重要:**即使處於遠端工作階段中,也請執行 SSH 工作階段。

連線到您的 EC2 macOS 執行個體

使用 SSH 連線到您的 Amazon EC2 macOS 執行個體。

Linux

若要使用 SSH 以 ec2-user 身分連線到您的 EC2 macOS 執行個體,請執行下列命令:

ssh -i keypair_file ec2-user@Instance-Public-IP

**注意:**將 keypair_file 替換為您的金鑰對,並將 Instance-Public-IP 替換為您執行個體的公有 IP 位址。

Windows

Windows 10 及更新版本預設安裝 OpenSSH 用戶端。若要啟動 OpenSSH 用戶端,請完成以下步驟:

  1. 選擇 Settings (設定)。
  2. 選擇 Apps (應用程式),然後選擇 Apps & features (應用程式和功能)。
  3. 選擇 Manage optional features (管理選用功能)。
  4. 選擇 Add a feature (新增功能),然後選取 OpenSSH Client (OpenSSH 用戶端)。如果您使用的是較舊版本的 Windows,請使用 Git Bash 執行以下命令:
    ssh -i keypair_file ec2-user@Instance-Public-IP

**注意:**當執行個體位於公有子網路時,您可以透過公有 IP 位址或彈性 IP 位址進行存取。若要透過私有 IP 位址連線執行個體,請使用堡壘伺服器或跳轉伺服器。或者,使用 AWS VPN 或 AWS Direct Connect 透過私有 IP 位址建立與執行個體的連線。最佳實務是使用 SSH 將流量導入 macOS 螢幕畫面分享服務。不要在安全性群組中開啟 VNC 連接埠同樣也是其中一項最佳實務。

安裝 macOS 螢幕畫面分享 SSH

若要從 macOS 執行個體安裝並啟動 macOS 螢幕畫面分享 SSH,請執行下列命令:

sudo launchctl enable system/com.apple.screensharing
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist

若要為 ec2-user 設定密碼,請執行下列命令:

sudo passwd ec2-user

確認作業系統 (OS) 正在接聽連接埠 5900:

sudo lsof -i -n -P | grep TCP | grep 5900

連接埠 5900 是 VNC 伺服器的預設連接埠。

預期輸出:

launchd 1 root 15u IPv6 0xa78dfebd53aa990a 0t0 TCP *:5900 (LISTEN)
launchd 1 root 16u IPv4 0x7a1b35dd60e49ee6 0t0 TCP *:5900 (LISTEN)
launchd 1 root 19u IPv6 0xa78dfebd53aa990a 0t0 TCP *:5900 (LISTEN)
launchd 1 root 20u IPv4 0x7a1b35dd60e49ee6 0t0 TCP *:5900 (LISTEN)

離開工作階段。

透過 GUI 連線到您的執行個體

您可以從 localhost 或執行個體的公有 IP 位址/DNS 連線到 GUI。

使用 localhost

**注意:**在連線到 GUI 之前,您可能必須關閉本機 Mac 機器上的螢幕畫面分享。這是因為本機的螢幕畫面分享和 Amazon EC2 連線都會嘗試使用連接埠 5900,而導致衝突。若要關閉螢幕畫面分享,請選擇 System Preferences (系統偏好設定),選擇 General (一般),然後選擇 Screen Sharing (螢幕畫面分享)。將螢幕畫面分享設定為 OFF (關閉)。

請完成下列步驟:

  1. 若要建立連線至 VNC 連接埠的 SSH 通道,請執行下列命令:
    ssh -i keypair_file -L 5900:localhost:5900 ec2-user@Instance-Public-IP
    **注意:**將 keypair_file 替換為您的 SSH 金鑰路徑。將 Instance-Public-IP 替換為您執行個體的 IP 位址或 DNS 名稱。或者如果您透過私有網路連線,那麼您也可以使用您的私有 IP 位址。
  2. 使用 VNC 用戶端連線到 localhost:5900
    macOS
    macOS 具有內建 VNC 用戶端。若要存取 VNC 檢視器,請開啟 Finder,選擇 Go (執行),然後選擇 Connect to Server (連線至伺服器)。或者使用鍵盤快速鍵 CMD + K。然後在 Server Address (伺服器位址) 輸入 vnc://localhost:5900
    Windows
    您可以使用第三方 VNC 用戶端,例如 RealVNC Viewer。如果您使用 RealVNC Viewer 用戶端,請從 File (檔案) 下拉式清單中選取 New Connection (新連線)。在 VNC Server: localhost:5900 Encryption: Let VNC Server Choose (VNC 伺服器:localhost:5900 加密:讓 VNC 伺服器選擇) 選擇 OK (確定)。其他用戶端 (例如 Windows 上的 TightVNC) 不能使用此解決方法。
    **注意:**連線到 RealVNC Viewer 時,您可能會遇到驗證錯誤。若要解決此問題,請將 Encryption (加密) 設定從 Prefer On (偏好開啟) 變更為 Prefer Off (偏好關閉),或從 Prefer Off (偏好關閉) 變更為 Prefer On (偏好開啟)。
    Linux
    您可以使用第三方 VNC 用戶端,例如 Remmina。若要下載工具,請參閱 Remmina 網站上的如何安裝 Remmina

使用公有 IP 位址或 DNS

如果您不想在 Mac 上開啟螢幕分享,請使用公有 IP 位址或 DNS 透過 GUI 連線到執行個體。

執行以下命令:

ssh -i keypair_file ec2-user@Instance-Public-IP

然後,依照 Localhost 區段中的步驟 2 存取 VNC 檢視器並進行連線:

vnc://Instance-Public-IP:5900 or vnc://Instance-DNS-address:5900

**注意:**若要透過公有 IP 位址連線,請在安全群組規則中允許連接埠 5900。

啟動 macOS GUI 後,請使用您建立的新密碼,以 ec2-user 身分連線到 macOS 執行個體的遠端工作階段。

相關資訊

如何在執行 Amazon Linux 2 的 Amazon EC2 執行個體上安裝 GUI?

使用 SSH 或 GUI 連線到您的 Mac 執行個體

GitHub 網站上的 amazon-ec2-mac-getting-started

AWS 官方已更新 9 個月前