専用ホストに Amazon Elastic Compute Cloud (Amazon EC2) の macOS インスタンスがあります。グラフィカルユーザーインタフェイス (GUI) を使用してそのインスタンスにアクセスしたいです。
解決策
以下の手順は macOS Mojave 10.14.6 と macOS Catalina 10.15.7 に適用されます
重要: リモートセッション中でも SSH セッションを実行できます。
GUI から macOS EC2 インスタンスにアクセスするには、次の手順を実行します。
-
SSH を使用して 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 クライアントを有効にするには、[設定、アプリ、アプリと機能] を選択し、[オプション機能の管理] を選択します。[機能の追加] を選択し、次に [OpenSSH クライアント] を選択します。以前のバージョンの Windows を使用している場合は、Git Bash を使用して上記の Linux コマンドを実行します。
注: インスタンスがパブリックサブネット内にある場合は、パブリック IP アドレスまたは Elastic IP アドレス経由でそのインスタンスへのアクセスを許可できます。踏み台サーバーまたはジャンプサーバーを使用してインスタンスに接続します。または、AWS VPN または AWS Direct Connect を使用して、プライベート IP アドレス経由でインスタンスへの接続を確立します。セキュリティ上の理由から、SSH を使用して macOS 画面共有サービスにトラフィックをトンネリングするのがベストプラクティスです。また、セキュリティグループでは VNC ポートを開かないこともベストプラクティスです。
-
macOS インスタンスから 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
-
ec2-user のパスワードを設定するために、以下のコマンドを実行します。
sudo /usr/bin/dscl . -passwd /Users/ec2-user
-
VNC ポートへの SSH トンネルを作成するために、次のコマンドを実行します。
ssh -i keypair_file -L 5900:localhost:5900 ec2-user@192.0.2.0
注: お使いのものでそれぞれ、keypair_file を SSH キーパスに、192.0.2.0 をインスタンスの IP アドレスまたは DNS 名に置き換えます。
-
VNC クライアントを使用して localhost:5900 に接続します。
macOS:
macOS には VNC クライアントが組み込まれています。VNC ビューアにアクセスするには、Finder を開いて [移動]、[サーバへ接続] を選択します。キーボードショートカット CMD+K も使用できます。次に、[サーバのアドレス] に vnc://localhost:5900 を入力します。
Windows:
RealVNC ビューアーなどのサードパーティの VNC クライアントを使用できます。RealVNC Viewer クライアントを使用する場合は、[ファイル] ドロップダウンリストから [新規接続] を選択します。次に、[VNC サーバー: localhost:5900、暗号化: VNC サーバーによる選択] で、[OK] をクリックします。TightVNC on Windows などの他のクライアントは、この解決策を使用できません。
注: RealVNC Viewer に接続すると、認証エラーが発生する場合があります。この問題を解決するには、[暗号化] 設定を [優先有効] から [優先無効] に、または [優先無効] から [優先有効] に変更します。
Linux:
Remmina などのサードパーティの VNC クライアントを使用できます。ツールをダウンロードするには、Remmina のウェブサイトで「Remmina のインストール方法」を参照してください。
-
macOS GUI が起動したら、新しいパスワードを使用して、ec2-user で macOS インスタンスのリモートセッションに接続します。
関連情報
Amazon Linux 2 を実行している Amazon EC2 インスタンスに GUI をインストールする方法を教えてください
Amazon EC2 Mac インスタンスを起動して接続する
Amazon EC2 mac の始め方 (GitHub のウェブサイト)