如何通过 GUI 访问我的 Amazon EC2 Mac 实例?

上次更新时间: 2021 年 4 月 5 日

我的专用主机上有一个 Amazon Elastic Compute Cloud (Amazon EC2) Mac 实例。如何通过 GUI 访问实例,以便我可以获得 macOS 环境的卓越体验?

解决方法

注意:以下步骤针对 macOS Mojave 10.14.6macOS Catalina 10.15.7 进行测试。

1.    使用 SSH 连接到您的 EC2 Mac 实例。

Linux

使用以下命令以 ec2-user 身份对 EC2 Mac 实例进行 SSH 连接。将 keypair_file 替换为密钥对,并将 Instance-Public-IP 替换为您的实例的公有 IP。

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

Windows

默认情况下,Windows 10 和更新版本的 Windows Server 安装了 OpenSSH 客户端。或者,您可以通过选择 Settings(设置)、Apps(应用程序)、Apps & features(应用程序和功能)、Manage optional features(管理可选功能)、Add a feature(添加功能)来启用 OpenSSH 客户端,然后选择 OpenSSH 客户端。如果您使用较旧版本的 Windows,则使用 Git Bash 执行前面的命令。

注意:此实例可以位于公有子网中,并可通过公有 IP 地址或弹性 IP 地址访问。您可以使用堡垒主机/跳跃主机连接到实例。或者,您可以使用 AWS VPNAWS Direct Connect 建立一个连接,可让您通过私有 IP 访问您的实例。出于安全原因,将使用 SSH 为到 VNC 服务器的流量建立隧道。此为避免在您的安全组中开放 VNC 端口的最佳实践。

2.    运行以下命令从 Mac 实例安装和启动 VNC(macOS 屏幕共享 SSH)

sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist

3.    运行以下命令以为 ec2-user 设置密码:

sudo /usr/bin/dscl . -passwd /Users/ec2-user

4.    创建到 VNC 端口的 SSH 隧道。在以下命令中,将 keypair_file 替换为您的 SSH 密钥路径,并将 192.0.2.0 替换为您的实例 IP 地址或 DNS 名称。

ssh -i keypair_file -L 5900:localhost:5900 ec2-user@192.0.2.0

注意:当您在远程会话中时,SSH 会话应该正在运行。

5.    使用 VNC 客户端连接到 localhost:5900

注意:macOS 有一个内置的 VNC 客户端。对于 Windows,您可以使用适用于 Windows 的 RealVNC 查看器。对于 Linux,您可以使用 Remmina。其他客户端(例如在 Windows 上运行的 TightVNC)不适用于此解决方法。

6.    macOS 的 GUI 启动。使用您在步骤 3 中设置的密码以 ec2-user 的身份连接到 Mac 实例的远程会话。

您现在已登录 macOS 桌面。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?