我無法透過堡壘主機使用 SSH 連線連接至 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。如何對此問題進行疑難排解?
簡短說明
若要對使用堡壘主機透過 SSH 連接至 EC2 執行個體進行疑難排解,請執行以下操作:
- 設定 SSH 代理程式轉送,以從本機電腦登入堡壘主機。
- 在開啟詳細訊息的情況下,從堡壘主機連接至 EC2 執行個體。
- 使用 SSH 用戶端的輸出訊息來識別問題並進行疑難排解。首先,對從本機電腦至堡壘主機的連線進行疑難排解。然後,對從堡壘主機至 EC2 執行個體的連線進行疑難排解。
解決方法
設定 SSH 代理程式轉送,以從本機電腦登入堡壘主機
1. 將 EC2 執行個體和堡壘主機的一或多個私有金鑰新增至本機電腦的 ssh-agent。在下列範例命令中,將 private-key.pem 取代為您私有金鑰的名稱。
$ ssh-add private-key.pem
執行下列命令,以確認這些金鑰可用於 ssh-agent:
$ ssh-add -L
2. 執行以下命令,以便在開啟詳細訊息的情況下,使用 -A 選項連接至堡壘主機。在下列範例命令中,使用您的使用者名稱來取代 ec2-user。使用適合您堡壘主機的公有 IP 地址來取代 192.0.2.0。您也可以使用公有 DNS 項目,而非公有 IP 地址。
$ ssh -v –A ec2-user@192.0.2.0
**重要事項:**此 -A 選項會啟用 ssh-agent 轉送。代理程式轉送應僅用於疑難排解。轉送會啟用本機 ssh-agent 以回應公有金鑰挑戰,包括當您從堡壘主機連接至 EC2 執行個體時。在您設定代理程式轉送時,系統會在堡壘主機上建立通訊端檔案。通訊端檔案充當將金鑰轉送至 EC2 執行個體的機制。堡壘主機上能夠修改檔案的其他使用者可以使用此金鑰以您的身分進行身分驗證。定期使用堡壘主機連接至執行個體 (在疑難排解之外) 時,請使用 ProxyCommand 或類似方法。
在開啟詳細訊息的情況下,從堡壘主機連接至 EC2 執行個體
連接至堡壘主機之後,在開啟詳細訊息的情況下,執行下列命令以使用 SSH 連接至 EC2 執行個體。在下列範例命令中,用您的使用者名稱取代 ec2-user。使用適合您堡壘主機的公有 IP 地址來取代 192.0.2.0。您也可以使用公有 DNS 項目,而非公有 IP 地址。
$ ssh -v ec2-user@192.0.2.0
**注意:**在上述兩個命令中,您不需要明確提供金鑰。ssh-agent 會依序嘗試代理程式中載入的所有金鑰,直到其中一個金鑰成功為止。執行個體會在五次連線嘗試失敗後終止連線。因此,請確保代理程式具有五個或更少的金鑰。每個系統管理員都應具有一個金鑰,因此,對於大多數部署來說幾乎不會有問題。如需有關如何在 ssh-agent 中管理金鑰的詳細資訊,請執行命令 man ssh-agent。
對從本機電腦至堡壘主機的連線進行疑難排解
如果從本機電腦連接至堡壘主機時出現問題,請執行以下操作:
對從堡壘主機至 EC2 執行個體的連線進行疑難排解
如果從堡壘主機連接至 EC2 執行個體時出現問題,請執行以下操作: