

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 對連線至 Amazon EC2 Windows 執行個體的問題進行疑難排解
<a name="troubleshoot-connect-windows-instance"></a>

下列資訊和常見錯誤可協助您針對連線到 Windows 執行個體時的問題進行疑難排解。

**Topics**
+ [遠端桌面無法連線到遠端電腦](#rdp-issues)
+ [使用 macOS RDP 用戶端時發生錯誤](#troubleshoot-instance-connect-mac-rdp)
+ [RDP 顯示黑色螢幕而非桌面](#rdp-black-screen)
+ [無法使用非管理員的使用者從遠端登入至執行個體](#remote-failure)
+ [使用 對遠端桌面問題進行故障診斷 AWS Systems Manager](#Troubleshooting-Remote-Desktop-Connection-issues-using-AWS-Systems-Manager)
+ [使用遠端登錄在 EC2 執行個體上啟用遠端桌面](#troubleshooting-windows-rdp-remote-registry)
+ [我的私有金鑰遺失。如何連接到我的 Windows 執行個體？](#replacing-lost-key-pair-windows)

## 遠端桌面無法連線到遠端電腦
<a name="rdp-issues"></a>

嘗試下列方法解決執行個體連線相關問題：
+ 確認您使用的是正確的公有 DNS 主機名稱。(在 Amazon EC2 主控台，選取執行個體，接著在詳細資訊窗格中勾選 **Public DNS (IPv4) (公有 DNS (IPv4))**。) 如果您的執行個體是在 VPC 中，而您找不到公有 DNS 名稱，您必須啟用 DNS 主機名稱。如需詳細資訊，請參閱 *Amazon VPC 使用者指南*中的 [VPC 的 DNS 屬性](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html)。
+ 確認您的執行個體有公有的 IPv4 地址。如果沒有，您可建立彈性 IP 地址與您執行個體的關聯。如需詳細資訊，請參閱 [彈性 IP 位址](elastic-ip-addresses-eip.md)。
+ 若要使用 IPv6 地址連線到您的執行個體，請確認您的本機電腦有 IPv6 地址，且設定使用 IPv6。如需詳細資訊，請參閱「Amazon VPC 使用者指南」中的*在執行個體上設定 IPv6*。
+ 確認您的安全群組具有規則，允許在連接埠 3389 上進行 RDP 存取。
+ 如果您已複製密碼但收到錯誤 `Your credentials did not work`，請嘗試在提示時手動輸入密碼。有可能是您在複製密碼時少了一個字元或多了一個空白字元。
+ 請確認執行個體已通過狀態檢查。如需詳細資訊，請參閱[Amazon EC2 執行個體的狀態檢查](monitoring-system-instance-status-check.md)及[狀態檢查失敗的疑難排解 Amazon EC2 Linux 執行個體](TroubleshootingInstances.md)。
+ 確認子網路的路由表有路由可將目標 VPC 外的所有流量傳送至 VPC 的網際網路閘道。如需詳細資訊，請參閱 *Amazon VPC 使用者指南*中的 [建立自訂路由表](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html#Add_IGW_Routing) (網際網路閘道)。
+ 確認 Windows 防火牆或其他防火牆軟體未封鎖執行個體的 RDP 流量。我們建議您停用 Windows 防火牆，並使用安全群組規則控制對您執行個體的存取。嘗試下列其中一個選項：
  + 使用 [AWSSupport-TroubleshootRDP](#AWSSupport-TroubleshootRDP) 來[disable the Windows Firewall profiles using SSM Agent](#disable-firewall)。此選項需要為執行個體設定 AWS Systems Manager。
  + 請使用 [AWSSupport-ExecuteEC2Rescue](#AWSSupport-ExecuteEC2Rescue)。
  + 停止執行個體、分離根磁碟區並將磁碟區作為資料磁碟區連接至暫時執行個體。連線至暫時執行個體，並讓磁碟區上線。從資料磁碟區中載入登錄 Hive。在 `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicyStandardProfile` 下方，將 `EnableFirewall` 設定為 0。卸載登錄 Hive，然後讓磁碟區離線。將磁碟區從暫時執行個體分離，並將其作為根磁碟區連接到原始執行個體。啟動原始執行個體。
+  在不屬於 Active Directory 域的執行個體上，確認網路層級身分驗證已停用 (使用 [AWSSupport-TroubleshootRDP](#AWSSupport-TroubleshootRDP) 以 [disable NLA](#disable-nla))。
+ 確認遠端桌面服務 (TermService) 啟動類型為「自動」，且服務已啟動 (使用 [AWSSupport-TroubleshootRDP](#AWSSupport-TroubleshootRDP) 以 [enable and start the RDP service](#rdp-auto))。
+ 確認您連線至正確的遠端桌面通訊協定連接埠，預設為 3389 (使用 [AWSSupport-TroubleshootRDP](#AWSSupport-TroubleshootRDP) 以 [read the current RDP port](#check-rdp) 和 [change it back to 3389](#restore-3389))。
+  確認您的執行個體上允許遠端桌面連線 (使用 [AWSSupport-TroubleshootRDP](#AWSSupport-TroubleshootRDP) 以 [enable Remote Desktop connections](#allow-rdp))。
+ 請確認密碼尚未過期。如果密碼已過期，您可以重設它。如需詳細資訊，請參閱[重設 Amazon EC2 Windows 執行個體的 Windows 管理員密碼](ResettingAdminPassword.md)。
+ 如果您嘗試使用在此執行個體上建立的使用者進行連線，但收到錯誤 `The user cannot connect to the server due to insufficient access privileges`，請確認您已授權使用者可在本機登入。如需詳細資訊，請參閱[授予成員登入本機的權限](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-r2-and-2008/ee957044(v%3dws.10))。
+ 如果您嘗試的同時 RDP 工作階段超過允許上限，您的工作階段會終止並顯示訊息：`Your Remote Desktop Services session has ended. Another user connected to the remote computer, so your connection was lost.`。根據預設，您的執行個體可以有兩個同時 RDP 工作階段。

## 使用 macOS RDP 用戶端時發生錯誤
<a name="troubleshoot-instance-connect-mac-rdp"></a>

如果使用 Microsoft 網站所提供的遠端桌面連線用戶端來連線到 Windows Server 執行個體，可能會出現下列錯誤：

```
Remote Desktop Connection cannot verify the identity of the computer that you want to connect to.
```

從 Mac App Store 下載 Microsoft Remote Desktop 應用程式，然後使用該應用程式連線到執行個體。

## RDP 顯示黑色螢幕而非桌面
<a name="rdp-black-screen"></a>

請嘗試下列方法解決此問題：
+ 如需其他資訊，請參閱主控台輸出。若要使用 Amazon EC2 主控台取得執行個體的主控台輸出，請選取執行個體，然後選擇 **Actions (動作)**、**Monitor and troubleshoot (監視和故障診斷)**、**Get system log (取得系統記錄檔)**。
+ 確認您執行的是最新版的 RDP 用戶端。
+ 嘗試 RDP 用戶端的預設設定。
+ 如果您使用的是遠端桌面連線，請嘗試使用 `/admin` 選項啟動它，如下所示。

  ```
  mstsc /v:instance /admin
  ```
+ 如果伺服器執行全螢幕應用程式，可能已停止回應。請使用 Ctrl\$1Shift\$1Esc 啟動 Windows 任務管理員，然後結束應用程式。
+ 如果伺服器過度使用，可能已停止回應。若要使用 Amazon EC2 主控台監控執行個體，請選取該執行個體，然後選取 **Monitoring (監控)** 索引標籤。如果您需要將執行個體類型變更為較大的大小，請參閱 [Amazon EC2 執行個體類型變更](ec2-instance-resize.md)。

## 無法使用非管理員的使用者從遠端登入至執行個體
<a name="remote-failure"></a>

如果您無法使用非管理員帳戶的使用者從遠端登入 Windows 執行個體，請確定您已授予該使用者從本機登入的權限。請參閱 [授予使用者或群組權限，以從本機登入網域中的網域控制器](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/ee957044(v=ws.10)#grant-a-user-or-group-the-right-to-log-on-locally-to-the-domain-controllers-in-the-domain)。

## 使用 對遠端桌面問題進行故障診斷 AWS Systems Manager
<a name="Troubleshooting-Remote-Desktop-Connection-issues-using-AWS-Systems-Manager"></a>

您可以使用 AWS Systems Manager 來疑難排解使用 RDP 連線至 Windows 執行個體的問題。

### AWSSupport-TroubleshootRDP
<a name="AWSSupport-TroubleshootRDP"></a>

AWSSupport-TroubleshootRDP 自動化文件可讓使用者檢查或修改目標執行個體上的常用設定，這些設定會影響遠端桌面通訊協定 (RDP) 連線，例如 **RDP 連接埠**、**網路層身分驗證 (NLA)** 和 **Windows 防火牆**設定檔。根據預設，此文件會讀取和輸出這些設定的值。

AWSSupport-TroubleshootRDP 自動化文件可以與 EC2 執行個體、內部部署執行個體和啟用用於 AWS Systems Manager (受管執行個體) 的虛擬機器 (VM) 一起使用。此外，它也可以與*未*啟用搭配 Systems Manager 使用的 Windows 伺服器之 EC2 執行個體搭配使用。如需啟用執行個體以搭配 使用的相關資訊 AWS Systems Manager，請參閱《 *AWS Systems Manager 使用者指南*》中的[受管節點](https://docs.aws.amazon.com/systems-manager/latest/userguide/fleet-manager-managed-nodes.html)。

**使用 AWSSupport-TroubleshootRDP 文件進行故障診斷**

1. 登入 [Systems Manager 主控台](https://console.aws.amazon.com/systems-manager/)。

1.  確認您位於受損執行個體所在的同一區域。

1. 從左側導覽窗格中選擇 **Documents** (文件)。

1. 在 **Owned by Amazon** (由 Amazon 所有) 標籤中，在搜尋欄位中輸入 `AWSSupport-TroubleshootRDP`。當 `AWSSupport-TroubleshootRDP` 文件出現時，請選取它。

1. 選擇 **Execute automation (執行自動化)**。

1. 對於 **Execution Mode (執行模式)**，選擇 **Simple execution (簡易執行)**。

1. 對於 **Input parameters (輸入參數)**、**InstanceId**，啟用 **Show interactive instance picker (顯示互動式執行個體選擇器)**。

1. 選擇 Amazon EC2 執行個體。

1. 檢閱[範例](#AWSSupport-TroubleshootRDP-Examples)，然後選擇 **Execute (執行)**。

1. 若要監控執行進度，對於 **Execution status (執行狀態)**，等待狀態從 **Pending (待定)** 變成 **Success (成功)**。展開**輸出**以檢視結果。若要檢視個別步驟的輸出，請在 **Executed Steps (執行的步驟)** 中從 **Step ID (步驟 ID)** 選擇一個項目。

#### AWSSupport-TroubleshootRDP 範例
<a name="AWSSupport-TroubleshootRDP-Examples"></a>

下列範例示範如何使用 AWSSupport-TroubleshootRDP 完成常見的故障診斷任務。您可以使用範例 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/ssm/start-automation-execution.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/start-automation-execution.html)命令或提供的 連結 AWS 管理主控台。

**Example 範例：檢查目前 RDP 狀態**  <a name="check-rdp"></a>
AWS CLI:  

```
aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootRDP" --parameters "InstanceId=i-1234567890abcdef0, Action=Custom" --region region_code
```
AWS Systems Manager 主控台：  

```
https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootRDP?region=region#documentVersion=$LATEST
```

**Example 範例：停用 Windows 防火牆**  <a name="disable-firewall"></a>
AWS CLI:  

```
aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootRDP" --parameters "InstanceId=i-1234567890abcdef0, Action=Custom, Firewall=Disable" --region region_code
```
AWS Systems Manager 主控台：  

```
https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootRDP?region=region_code#documentVersion=$LATEST&Firewall=Disable
```

**Example 範例：停用網路層級身分驗證**  <a name="disable-nla"></a>
AWS CLI:  

```
aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootRDP" --parameters "InstanceId=i-1234567890abcdef0, Action=Custom, NLASettingAction=Disable" --region region_code
```
AWS Systems Manager 主控台：  

```
https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootRDP?region=region_code#documentVersion
```

**Example 範例：將 RDP 服務啟動類型設為自動並啟動 RDP 服務**  <a name="rdp-auto"></a>
AWS CLI:  

```
aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootRDP" --parameters "InstanceId=i-1234567890abcdef0, Action=Custom, RDPServiceStartupType=Auto, RDPServiceAction=Start" --region region_code
```
AWS Systems Manager 主控台：  

```
https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootRDP?region=region_code#documentVersion=$LATEST&RDPServiceStartupType=Auto&RDPServiceAction=Start
```

**Example 範例：還原預設 RDP 連接埠 (3389)**  <a name="restore-3389"></a>
AWS CLI:  

```
aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootRDP" --parameters "InstanceId=i-1234567890abcdef0, Action=Custom, RDPPortAction=Modify" --region region_code
```
AWS Systems Manager 主控台：  

```
https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootRDP?region=region_code#documentVersion=$LATEST&RDPPortAction=Modify
```

**Example 範例：允許遠端連線**  <a name="allow-rdp"></a>
AWS CLI:  

```
aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootRDP" --parameters "InstanceId=i-1234567890abcdef0, Action=Custom, RemoteConnections=Enable" --region region_code
```
AWS Systems Manager 主控台：  

```
https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootRDP?region=region_code#documentVersion=$LATEST&RemoteConnections=Enable
```

### AWSSupport-ExecuteEC2Rescue
<a name="AWSSupport-ExecuteEC2Rescue"></a>

AWSSupport-ExecuteEC2Rescue 自動化文件會利用 Windows Server 的 EC2Rescue 進行自動排解並還原 EC2 執行個體連線和 RDP 問題。如需詳細資訊，請參閱[在無法觸達的執行個體上執行 EC2Rescue 工具](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-ec2rescue.html)。

AWSSupport-ExecuteEC2Rescue 自動化文件需要停止執行個體並重新啟動。Systems Manager 會停止執行個體並建立 Amazon Machine Image (AMI)。存放在執行個體存放磁碟區的資料會遺失。如果您不是使用彈性 IP 地址，則公有 IP 地址會變更。如需詳細資訊，請參閱《AWS Systems Manager 使用者指南》**中的[在無法連線的執行個體上執行 EC2Rescue 工具](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-ec2rescue.html)。

**使用 AWSSupport-ExecuteEC2Rescue 文件進行故障診斷**

1. 開啟 [Systems Manager 主控台](https://console.aws.amazon.com/systems-manager/)。

1. 確認您位於受損 Amazon EC2 執行個體所在的同一區域。

1. 在導覽面板中，選擇**文件**。

1. 搜尋並選取 `AWSSupport-ExecuteEC2Rescue` 文件，然後選擇**執行自動化**。

1. 在 **Execution Mode (執行模式)** 中，選擇 **Simple execution (簡易執行)**。

1.  在 **Input parameters (輸入參數)**區段的 **UnreachableInstanceId** 中，輸入無法連線的執行個體的 Amazon EC2 執行個體 ID。

1.  (選用) 如果您要收集作業系統日誌以進行 Amazon EC2 執行個體故障診斷，請在 **LogDestination** 中，輸入 Amazon Simple Storage Service (Amazon S3) 儲存貯體名稱。日誌會自動上傳至指定的儲存貯體。

1. 選擇 **Execute (執行)**。

1.  若要監控執行進度，請在 **Execution status (執行狀態)** 中，等待狀態從 **Pending (待定)** 變成 **Success (成功)**。展開**輸出**以檢視結果。若要檢視個別步驟的輸出，請在 **Executed Steps (執行的步驟)** 中選擇 **Step ID (步驟 ID)**。

## 使用遠端登錄在 EC2 執行個體上啟用遠端桌面
<a name="troubleshooting-windows-rdp-remote-registry"></a>

如果無法連線的執行個體不是由 AWS Systems Manager Session Manager 管理，則可以使用遠端登錄檔來啟用遠端桌面。

1. 從 EC2 控制台，停止無法連線的執行個體。

1. 將無法連線之執行個體的根磁碟區，連接到相同可用區域中的另一個執行個體以做為儲存磁碟區。如果同一可用區域中沒有可連線的執行個體，請啟動一個執行個體。記下無法連線的執行個體上根磁碟區的裝置名稱。

1. 在可連線的執行個體上，開啟「磁碟管理」。在「命令提示」視窗中執行下列命令，即可執行這項操作。

   ```
   diskmgmt.msc
   ```

1. 以滑鼠右鍵按一下來自無法連線之執行個體的新連接磁碟區，然後選擇**線上**。

1. 開啟 Windows 登錄編輯程式。在「命令提示」視窗中執行下列命令，即可執行這項操作。

   ```
   regedit
   ```

1. 在「登錄編輯程式」中，選擇 **HKEY\$1LOCAL\$1MACHINE**，然後依序選擇**檔案**、**載入 Hive**。

1. 選取連接磁碟區的磁碟機，導覽至 `\Windows\System32\config\`，選取 `SYSTEM`，然後選擇 **Open (開啟)**。

1. 對於 **Key Name (鍵值名稱)**，請輸入 hive 的唯一名稱，並選擇 **OK (確定)**。

1. 請先備份登錄 hive，再對登錄進行任何變更。

   1. 在「登錄編輯程式」主控台樹狀目錄中，選取您載入的 Hive：**HKEY\$1LOCAL\$1MACHINE**\$1*your-key-name*．

   1. 依序選擇**檔案**、**匯出**。

   1. 在「匯出登錄檔案」對話方塊中，選擇您要儲存備份複本的位置，然後在 **File name (檔案名稱)** 欄位中輸入備份檔案的名稱。

   1. 選擇**儲存**。

1. 在「登錄編輯程式」中，導覽至 `HKEY_LOCAL_MACHINE\your key name\ControlSet001\Control\Terminal Server`，然後在詳細資訊窗格中按兩下 **fDenyTSConnections**。

1. 在 **Edit DWORD (編輯 DWORD)** 值方塊中，在 **Value data (值資料)** 欄位中輸入 `0`。

1. 選擇 **OK** (確定)。
**注意**  
如果 **Value data (值資料)** 欄位中的值為 `1`，則執行個體將拒絕遠端桌面連線。值 `0` 允許遠端桌面連線。

1. 在「登錄編輯程式」中，選擇 **HKEY\$1LOCAL\$1MACHINE**\$1*your-key-name*，然後依序選擇**檔案**、**卸載 Hive**。

1. 關閉「「登錄編輯程式」」和「磁碟管理」。

1. 在 EC2 主控台中，將磁碟區與可連線的執行個體中斷連接，然後再重新連接到無法連線的執行個體。將磁碟區連接到無法連線的執行個體時，請在**裝置**欄位中輸入您稍早儲存的裝置名稱。

1. 重新啟動無法連線的執行個體。

## 我的私有金鑰遺失。如何連接到我的 Windows 執行個體？
<a name="replacing-lost-key-pair-windows"></a>

當您連線到新啟動的 Windows 執行個體時，使用您在啟動執行個體時所指定金鑰對中的私有金鑰，將管理員帳戶的密碼解密。

如果您遺失了管理員密碼，而且也不再擁有私有金鑰，則必須重設密碼或建立新的執行個體。如需詳細資訊，請參閱[重設 Amazon EC2 Windows 執行個體的 Windows 管理員密碼](ResettingAdminPassword.md)。如需使用 Systems Manager 重設密碼之步驟的文件，請參閱「AWS Systems Manager 使用者指南」**中的[在 EC2 執行個體上重設密碼和 SSH 金鑰](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-ec2reset.html)。