Global outage event
If you’re experiencing issues with your AWS services, then please refer to the AWS Health Dashboard. You can find the overall status of ongoing outages, the health of AWS services, and the latest updates from AWS engineers.
如何解決 Amazon EC2 Linux 執行個體的 SSH 連線問題?
我無法使用 SSH 連線至 Amazon Elastic Compute Cloud (Amazon EC2) Linux 執行個體,我想解決該問題。
簡短描述
如果您收到權限遭拒、連線遭拒或資源暫時無法使用錯誤訊息,那麼您的 Amazon EC2 執行個體可能有連線問題。
若要解決 SSH 連線問題,請使用下列其中一種方法:
- AWSSupport-TroubleshootSSH 自動化
- 開啟詳細訊息功能的 SSH
- Amazon EC2 序列主控台
- Session Manager,AWS Systems Manager 的一項功能
解決方法
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
請確認您擁有以下詳細資訊:
- 與執行個體關聯的正確私有金鑰 (.pem 檔案)
- 適合您的 Linux 發行版的正確使用者名稱
- 您執行個體的 IP 位址或 DNS 名稱
- 您的執行個體的網路連線
執行 AWSSupport-TroubleshootSSH 執行手冊
AWSSupport-TroubleshootSSH 自動化可協助您識別並自動解決 SSH 執行個體連線問題。
先決條件:
- 複製您要進行疑難排解之 Amazon EC2 執行個體的執行個體 ID。
- 滿足執行手冊所安裝 EC2Rescue for Linux 工具的先決條件。
您可以使用 AWS CLI 執行 AWSSupport-TroubleshootSSH 自動化。
或者,使用 Systems Manager 主控台並設定下列設定:
- 在 Automation document (自動化文件) 下,選擇 AWSSupport-TroubleshootSSH。
- 在 Document details (文件詳細資訊) 下,於 Runbook version (執行手冊版本) 選擇 Default version at runtime (執行時期的預設版本)。
- 在 Input parameters (輸入參數) 下,於 InstanceID 中輸入無法存取的執行個體,並在 Action (動作) 中輸入 FixAll。
如需 AWSSupport-TroubleshootSSH 自動化的更多資訊,請參閱使用 AWS Systems Manager Automation API 動作進行智慧型 RDP 和 SSH 修復。
使用開啟詳細訊息功能的 SSH
請完成下列步驟:
- 使用 SSH 連線到您的 Linux 執行個體,並啟用詳細訊息選項:
**注意:**將 my_key.pem 替換為您的私有金鑰檔案,將 ec2-user@11.22.33.44 替換為您的使用者名稱。如需詳細資訊,請參閱使用 SSH 用戶端連接到您的 Linux 執行個體。user@localhost:~$ ssh -vvv -i my_key.pem ec2-user@11.22.33.44 - 若要確定問題的原因,請查看 SSH 用戶端輸出中的錯誤訊息。
- 確定錯誤訊息後,請參閱解決 SSH 錯誤一節來解決您的問題。
若要進一步了解詳細訊息或對其他類型錯誤訊息進行疑難排解,請參閱如何解決 Amazon EC2 Linux 執行個體的 SSH 連線問題?
使用 Amazon EC2 序列主控台連線到 Nitro 型執行個體和裸機執行個體
若要直接在您的執行個體上對 SSH 問題進行疑難排解,您可以使用 Nitro 型和裸機執行個體的 EC2 序列主控台。
**注意:**如果您是首次使用 EC2 序列主控台,請在連線到執行個體之前,先查看先決條件並設定存取權。
如果連線到執行個體後顯示黑畫面,請完成下列工作:
- 使用系統請求 (SysRq) 鍵進行疑難排解。
- 使用 SysRq、Amazon EC2 主控台或 AWS CLI 重新啟動您的執行個體。
- 使用您自己的金鑰和 SSH 用戶端連線到您的執行個體。
使用 Session Manager
您可以使用 Session Manager 連線到 Amazon EC2 主控台上的執行個體。連線後,您可以按照與其他連線方法相同的方式,在執行個體上執行 bash 命令。
解決 SSH 錯誤
「連線逾時」或「連線遭拒」
當伺服器未回應用戶端的請求時,就會發生 Connection timed out (連線逾時) 錯誤。當執行個體到達主機,但由於沒有服務接聽 SSH 連接埠而主動拒絕連線時,就會發生 Connection refused (連線遭拒) 錯誤。若要解決這些問題,請參閱如何對使用 SSH 連線到 EC2 執行個體時,發生的「連線遭拒」或「連線逾時」錯誤進行疑難排解?
如果您在虛擬私有雲端 (VPC) 上收到 Connection timed out (連線逾時) 錯誤,則可能是網路組態問題。此問題可能是安全設定、網路存取控制清單 (網路 ACL)、VPC 路由表或本機防火牆的設定不正確導致的。若要解決此問題,請參閱如何對網際網路的 Amazon EC2 執行個體連線逾時錯誤進行疑難排解?
「權限遭拒」或「驗證失敗」
當您無法透過 SSH 進行確認,以存取您的執行個體時,就會出現 Permission denied (權限遭拒) 或 Authentication failed (驗證失敗) 錯誤。此問題可能是金鑰或權限組態問題導致的。若要解決此問題,請參閱如何解決在存取 EC2 執行個體時收到的「Permission denied (publickey)」(權限遭拒 (publickey)) 或「Authentication failed, permission denied」(驗證失敗,權限遭拒) 錯誤?
「伺服器拒絕我們的金鑰」
當您使用 SSH 嘗試連接到執行個體並使用不正確的私有金鑰、使用者名稱或權限時,就會發生 Server refused our key (伺服器拒絕我們的金鑰) 錯誤。或者,錯誤設定的 SSH 伺服器組態也會導致此問題。若要解決這些問題,請參閱為什麼當我嘗試透過 SSH 連線到 EC2 執行個體時,會收到「Server refused our key」(伺服器拒絕我們的金鑰) 錯誤訊息?
「imported-openssh-key」或「Putty 嚴重錯誤」
當您使用錯誤的使用者名稱透過 SSH 連線到 EC2 Linux 執行個體時,就會發生 imported-openssh-key 或 Putty Fatal Error (imported-openssh-key 或 Putty 嚴重錯誤) 錯誤。或者,您在 SSH 工作階段協商期間使用了錯誤的私有金鑰。若要解決這些問題,請參閱為什麼我在連接到 Amazon EC2 Linux 執行個體時,會收到「imported-openssh-key」或 「PuTTY Fatal Error」(PuTTY 嚴重錯誤) 錯誤?
「輸入金鑰 'my_key.pem' 的複雜密碼」
當您為金鑰檔案建立密碼但未手動輸入密碼時,就會出現 Enter passphrase for key 'my_key.pem' (輸入金鑰 'my_key.pem' 的複雜密碼) 錯誤。若要解決此問題,請手動輸入密碼。或者,使用 ssh-agent 自動載入金鑰。
相關資訊
如何對使用 EC2 Connect 連線到 EC2 執行個體時的問題進行疑難排解?
如何對在 AWS Wavelength Zone 中所啟動 EC2 執行個體的 SSH 或 RDP 連線問題進行疑難排解?
相關內容
- 已提問 2 年前


