對連線至 Amazon EC2 Windows 執行個體的問題進行疑難排解 - Amazon Elastic Compute Cloud

對連線至 Amazon EC2 Windows 執行個體的問題進行疑難排解

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

遠端桌面無法連線到遠端電腦

嘗試下列方法解決執行個體連線相關問題:

  • 確認您使用的是正確的公有 DNS 主機名稱。(在 Amazon EC2 主控台,選取執行個體,接著在詳細資訊窗格中勾選 Public DNS (IPv4) (公有 DNS (IPv4))。) 如果您的執行個體是在 VPC 中,而您找不到公有 DNS 名稱,您必須啟用 DNS 主機名稱。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的 VPC 的 DNS 屬性

  • 確認您的執行個體有公有的 IPv4 地址。如果沒有,您可建立彈性 IP 地址與您執行個體的關聯。如需詳細資訊,請參閱 彈性 IP 位址

  • 若要使用 IPv6 地址連線到您的執行個體,請確認您的本機電腦有 IPv6 地址,且設定使用 IPv6。如需詳細資訊,請參閱《Amazon VPC 使用者指南》中的在執行個體上設定 IPv6

  • 確認您的安全群組具有規則,允許在連接埠 3389 上進行 RDP 存取。

  • 如果您已複製密碼但收到錯誤 Your credentials did not work,請嘗試在提示時手動輸入密碼。有可能是您在複製密碼時少了一個字元或多了一個空白字元。

  • 請確認執行個體已通過狀態檢查。如需詳細資訊,請參閱 Amazon EC2 執行個體的狀態檢查狀態檢查失敗的疑難排解 Amazon EC2 Linux 執行個體

  • 確認子網路的路由表有路由可將目標 VPC 外的所有流量傳送至 VPC 的網際網路閘道。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的 建立自訂路由表 (網際網路閘道)。

  • 確認 Windows 防火牆或其他防火牆軟體未封鎖執行個體的 RDP 流量。我們建議您停用 Windows 防火牆,並使用安全群組規則控制對您執行個體的存取。您可以使用 AWSSupport-TroubleshootRDPdisable the Windows Firewall profiles using SSM Agent:若要在未設定用於 AWS Systems Manager 的 Windows 執行個體上停用 Windows 防火牆,請使用 AWSSupport-ExecuteEC2Rescue,或使用下列手動步驟:

  1. 停止受影響的執行個體並分離其根磁碟區。

  2. 啟動與受影響執行個體同一可用區域中的暫時執行個體。

    警告

    如果您的暫時執行個體與原始執行個體以相同的 AMI 為基礎,則您必須完成額外的步驟,否則您無法在還原原始執行個體磁碟區之後將其啟動,原因是磁碟簽名衝突。或者,請為暫時執行個體選擇不同的 AMI。例如,如果原始執行個體使用適用於 Windows Server 2016 的 AWS Windows AMI,則使用適用於 Windows Server 2019 的 AWS Windows AMI 啟動暫時執行個體。

  3. 從受影響的執行個體將根磁碟區連接到此暫時執行個體。連線至暫時執行個體、開啟 Disk Management (磁碟管理) 公用程式,然後讓磁碟機上線。

  4. 開啟 Regedit 並選取 HKEY_LOCAL_MACHINE。從 File (檔案) 功能表中,選擇 Load Hive (載入 Hive)。選取磁碟機、開啟檔案 Windows\System32\config\SYSTEM,然後在提示時指定金鑰名稱 (您可使用任何名稱)。

  5. 選擇剛載入的機碼並導覽至 ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy。為名稱格式為 xxxxProfile 的每一個金鑰選取金鑰,並將 EnableFirewall 從 1 變更為 0。再次選取該金鑰,然後從 File (檔案) 功能表中選擇 Unload Hive (取消載入 Hive)

  6. (選用) 如果您的暫時執行個體與原始執行個體以相同的 AMI 為基礎,則您必須完成下列步驟,否則您無法在還原原始執行個體磁碟區之後將其啟動,原因是磁碟簽名衝突。

    警告

    下列程序說明如何使用登錄編輯程式來編輯 Windows 登錄檔。如果您不熟悉 Windows 登錄檔或如何使用登錄編輯程式來安全地進行變更,請參閱 設定登錄檔

    1. 開啟命令提示,輸入 regedit.exe,然後按 Enter。

    2. 登錄編輯程式中,從內容功能表中選擇 HKEY_LOCAL_MACHINE (按一下右鍵),然後選擇 Find (尋找)。

    3. 輸入 Windows Boot Manager,然後選擇 Find Next (尋找下一個)。

    4. 選擇名為 11000001 的金鑰。此金鑰是您在上一個步驟中找到的金鑰的同級。

    5. 在右窗格中,選擇 Element,然後從內容功能表中選擇 Modify (修改)(按一下右鍵)。

    6. 在資料中的位移為 0x38 處找到四位元組的磁碟簽章。反轉位元組以建立磁碟簽章,然後寫下來。例如,下列資料所代表的磁碟簽章是 E9EB3AA5

      ... 0030 00 00 00 00 01 00 00 00 0038 A5 3A EB E9 00 00 00 00 0040 00 00 00 00 00 00 00 00 ...
    7. 在命令提示視窗中,執行下列命令以啟動 Microsoft DiskPart。

      diskpart
    8. 執行下列 DiskPart 命令以選取磁碟區。(可以使用磁碟管理公用程式,確認磁碟編號為 1)。

      DISKPART> select disk 1 Disk 1 is now the selected disk.
    9. 執行下列 DiskPart 命令即可取得磁碟簽章。

      DISKPART> uniqueid disk Disk ID: 0C764FA8
    10. 如果上一個步驟中顯示的磁碟簽章不符合您先前寫下的 BCD 中的磁碟簽章,請使用下列 DiskPart 命令來變更磁碟簽章,使其符合:

      DISKPART> uniqueid disk id=E9EB3AA5
  7. 使用 Disk Management (磁碟管理) 公用程式讓磁碟機離線。

    注意

    如果暫時執行個體執行的作業系統與受影響執行個體的相同,磁碟機會自動離線,因此您不需要手動將其離線。

  8. 分離磁碟區與暫時執行個體。如果不再需要使用此暫時執行個體,您可終止它。

  9. 將受影響執行個體的根磁碟區連接為 /dev/sda1 來還原它。

  10. 啟動實例。

使用 macOS RDP 用戶端時發生錯誤

如果使用 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 顯示黑色螢幕而非桌面

請嘗試下列方法解決此問題:

  • 如需其他資訊,請參閱主控台輸出。若要使用 Amazon EC2 主控台取得執行個體的主控台輸出,請選取執行個體,然後選擇 Actions (動作)Monitor and troubleshoot (監視和故障診斷)Get system log (取得系統記錄檔)

  • 確認您執行的是最新版的 RDP 用戶端。

  • 嘗試 RDP 用戶端的預設設定。如需詳細資訊,請參閱 遠端工作階段環境

  • 如果您使用的是遠端桌面連線,請嘗試使用 /admin 選項啟動它,如下所示。

    mstsc /v:instance /admin
  • 如果伺服器執行全螢幕應用程式,可能已停止回應。請使用 Ctrl+Shift+Esc 啟動 Windows 任務管理員,然後結束應用程式。

  • 如果伺服器過度使用,可能已停止回應。若要使用 Amazon EC2 主控台監控執行個體,請選取該執行個體,然後選取 Monitoring (監控) 索引標籤。如果您需要將執行個體類型變更為較大的大小,請參閱 Amazon EC2 執行個體類型變更

無法使用非管理員的使用者從遠端登入至執行個體

如果您無法使用非管理員帳戶的使用者從遠端登入 Windows 執行個體,請確定您已授予該使用者從本機登入的權限。請參閱 授予使用者或群組權限,以從本機登入網域中的網域控制器

使用 AWS Systems Manager 針對遠端桌面的問題進行故障診斷

您可以使用 AWS Systems Manager 來針對使用 RDP 連接到 Windows 執行個體的問題進行故障診斷。

AWSSupport-TroubleshootRDP

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

AWSSupport-TroubleshootRDP 自動化文件可以與 EC2 執行個體、內部部署執行個體和啟用用於 AWS Systems Manager (受管執行個體) 的虛擬機器 (VM) 一起使用。此外,它也可以與啟用搭配 Systems Manager 使用的 Windows 伺服器之 EC2 執行個體搭配使用。如需有關啟用執行個體以搭配使用 AWS Systems Manager 的詳細資訊,請參閱《AWS Systems Manager 使用者指南》中的託管式節點

使用 AWSSupport-TroubleshootRDP 文件進行故障診斷
  1. 登入 Systems Manager 主控台

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

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

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

  5. 選擇 Execute automation (執行自動化)

  6. 對於 Execution Mode (執行模式),選擇 Simple execution (簡易執行)

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

  8. 選擇 Amazon EC2 執行個體。

  9. 檢閱範例,然後選擇 Execute (執行)

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

AWSSupport-TroubleshootRDP 範例

下列範例示範如何使用 AWSSupport-TroubleshootRDP 完成常見的故障診斷任務。您可以使用範例 AWS CLI start-automation-execution 命令或提供的 AWS Management Console 連結。

範例:檢查目前 RDP 狀態

AWS CLI:

aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootRDP" --parameters "InstanceId=instance_id, Action=Custom" --region region_code

AWS Systems Manager 主控台:

https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootRDP?region=region#documentVersion=$LATEST
範例:停用 Windows 防火牆

AWS CLI:

aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootRDP" --parameters "InstanceId=instance_id, 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
範例:停用網路層級身分驗證

AWS CLI:

aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootRDP" --parameters "InstanceId=instance_id, 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
範例:將 RDP 服務啟動類型設為自動並啟動 RDP 服務

AWS CLI:

aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootRDP" --parameters "InstanceId=instance_id, 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
範例:還原預設 RDP 連接埠 (3389)

AWS CLI:

aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootRDP" --parameters "InstanceId=instance_id, 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
範例:允許遠端連線

AWS CLI:

aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootRDP" --parameters "InstanceId=instance_id, 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

AWSSupport-ExecuteEC2Rescue 自動化文件會利用 Windows Server 的 EC2Rescue 進行自動排解並還原 EC2 執行個體連線和 RDP 問題。如需詳細資訊,請參閱在無法觸達的執行個體上執行 EC2Rescue 工具

AWSSupport-ExecuteEC2Rescue 自動化文件需要停止執行個體並重新啟動。Systems Manager 會停止執行個體並建立 Amazon Machine Image (AMI)。存放在執行個體存放磁碟區的資料會遺失。如果您不是使用彈性 IP 地址,則公有 IP 地址會變更。如需詳細資訊,請參閱《AWS Systems Manager 使用者指南》中的 在無法觸達的執行個體上執行 EC2Rescue 工具

使用 AWSSupport-ExecuteEC2Rescue 文件進行故障診斷
  1. 開啟 Systems Manager 主控台

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

  3. 在導覽面板中,選擇文件

  4. 搜尋並選取 AWSSupport-ExecuteEC2Rescue 文件,然後選擇執行自動化

  5. Execution Mode (執行模式) 中,選擇 Simple execution (簡易執行)

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

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

  8. 選擇 Execute (執行)

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

使用遠端登錄在 EC2 執行個體上啟用遠端桌面

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

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

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

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

    diskmgmt.msc
  4. 以滑鼠右鍵按一下來自無法連線之執行個體的新連接磁碟區,然後選擇線上

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

    regedit
  6. 在「登錄編輯程式」中,選擇 HKEY_LOCAL_MACHINE,然後依序選擇檔案載入 Hive

  7. 選取連接磁碟區的磁碟機,導覽至 \Windows\System32\config\,選取 SYSTEM,然後選擇 Open (開啟)

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

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

    1. 在「登錄編輯程式」主控台樹狀目錄中,選取您載入的 Hive:HKEY_LOCAL_MACHINE\your-key-name

    2. 依序選擇檔案匯出

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

    4. 選擇 Save (儲存)。

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

  11. Edit DWORD (編輯 DWORD) 值方塊中,在 Value data (值資料) 欄位中輸入 0

  12. 選擇 OK (確定)。

    注意

    如果 Value data (值資料) 欄位中的值為 1,則執行個體將拒絕遠端桌面連線。值 0 允許遠端桌面連線。

  13. 在「登錄編輯程式」中,選擇 HKEY_LOCAL_MACHINE\your-key-name,然後依序選擇檔案卸載 Hive

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

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

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

我的私有金鑰遺失。如何連接到我的 Windows 執行個體?

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

如果您遺失了管理員密碼,而且也不再擁有私有金鑰,則必須重設密碼或建立新的執行個體。如需詳細資訊,請參閱重設 Amazon EC2 Windows 執行個體的 Windows 管理員密碼。如需使用 Systems Manager 重設密碼之步驟的文件,請參閱《AWS Systems Manager 使用者指南》中的在 EC2 執行個體上重設密碼和 SSH 金鑰