本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用執行個體 Connect 端點 Connect 到 Amazon EC2 EC2 執行個體
您可以使用EC2執行個體 Connect 端點連接到支援SSH或的 Amazon EC2 執行個體RDP。
必要條件
-
您必須擁有必要的IAM權限才能 Connect 至EC2執行個體連線端點。如需詳細資訊,請參閱使用執行個EC2體連線端點連線至執行個體的權限。
-
EC2執行個體 Connect 端點必須位於可用 (主控台) 或
create-complete
(AWS CLI) 狀態。如果您沒有EC2執行個體 Connect 端點VPC,您可以建立一個。如需詳細資訊,請參閱建立EC2執行個體 Connect 端點。 -
您的執行個體必須擁有IPv4地址 (私人或公用)。EC2執行個體 Connect 端點不支援使用IPv6位址連線至執行個體。
-
(Linux 執行個體) 若要使用 Amazon EC2 主控台連線到您的執行個體,或使用連線並CLI讓EC2執行個體 Connect 處理暫時金鑰,您的執行個體必須已EC2安裝執行個體 Connect。如需詳細資訊,請參閱安裝 EC2 Instance Connect。
-
確定執行個體的安全性群組允許來自執行個EC2體 Connect 端點的輸入SSH流量。如需詳細資訊,請參閱目標例項安全性群組規則。
連線選項
使用 Amazon EC2 主控台 Connect 到您的 Linux 執行個體
您可以使用 Amazon EC2 主控台 (以瀏覽器為基礎的用戶端) 連線到執行個體,如下所示。
使用 Amazon EC2 主控台連線到執行個體
-
在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/
。 -
在導覽窗格中,選擇 Instances (執行個體)。
-
選取執行個體,然後選擇 [Connect]。
-
選擇「EC2執行處理 Connect」標籤。
-
針對「連線類型」,請選擇「使用EC2執行個體 Connect 線端點
-
在「EC2執行個體 Connect 端點」中,選擇「EC2執行個體 Connect 端點」的 ID。
-
對於使用者名稱,如果您AMI用來啟動執行個體的使用者名稱不是
ec2-user
,請輸入正確的使用者名稱。 -
在通道持續時間上限 (秒) 中,輸入允許的SSH連線持續時間上限。
持續時間必須符合IAM政策中指定的任何
maxTunnelDuration
條件。如果您無權存取IAM原則,請連絡您的系統管理員。 -
選擇連線。這會為您的執行個體開啟終端機視窗。
使用 Connect 到您的 Linux 執行個體 SSH
您可以使用連線SSH到 Linux 執行個體,並使用open-tunnel
指令建立私有通道。可以在單一連線或多重連線模式下使用 open-tunnel
。
有關使用 AWS CLI 若要使用連線至執行個體SSH,請參閱使用 連線 AWS CLI。
下列範例使用 Open SSH
單一連接
若要使用SSH和open-tunnel
指令僅允許單一連線至執行個體
使ssh
用和 open-tunnel-o
代理命令包含 open-tunnel
命令,它可建立執行個體的私有通道。
ssh -i
my-key-pair
.pemec2-user
@i-0123456789example
\ -o ProxyCommand='aws ec2-instance-connect open-tunnel --instance-idi-0123456789example
'
對於:
-
-i
– 指定用來啟動執行個體的金鑰對。 -
— 指定用來啟動執行AMI個體的使用者名稱,以及執行個體 ID。ec2-user
@i-0123456789example
-
--instance-id
– 指定要連線之執行個體的 ID。或者,指定%h
,其可從使用者中擷取執行個體 ID。
多重連線
若要允許多個連線至執行個體,請先執行 open-tunnelssh
用建立新TCP連線和執行個體的私人通道。
若要使用和open-tunnel
指令允許多個連線至您SSH的執行個體
-
執行下列命令,開始偵聽本機電腦上指定TCP連接埠上的新連線。
aws ec2-instance-connect open-tunnel \ --instance-id
i-0123456789example
\ --local-port8888
預期的輸出結果
Listening for connections on port 8888.
-
在新的終端機視窗中,執行下列
ssh
命令,為執行個體建立新TCP連線和私人通道。ssh -i
my-key-pair
.pem ec2-user@localhost -p8888
預期輸出 – 在第一個終端視窗中,您會看到以下內容:
[1] Accepted new tcp connection, opening websocket tunnel.
您可能會看到以下內容:
[1] Closing tcp connection.
使用 Connect 到您的 Linux 執行個體 AWS CLI
如果您只知道實例 ID,則可以使用 ec
必要條件
安裝 AWS CLI 版本 2 並使用您的憑據進行配置。如需詳細資訊,請參閱安裝或更新至最新版本的 AWS CLI並配置 AWS CLI 中的 AWS Command Line Interface 用戶指南。或者,打開 AWS CloudShell 並運行 AWS CLI 其預先驗證的 shell 中的命令。
使用執行個體 ID 和執行個體連線端點連線至EC2執行個體
如果您只知道例證 ID,請使用 ec2-instance connectssh
令、例證 ID 和--connection-type
參數。eice
aws ec2-instance-connect ssh --instance-id
i-1234567890example
--os-userec2-user
--connection-type eice
提示
如果使用此命令時出現錯誤,請確保您正在使用 AWS CLI
版本 2. 此ssh
參數僅適用於 AWS CLI 版本 2. 如需詳細資訊,請參閱關於 AWS CLI 第 2 版中的 AWS Command Line Interface 用戶指南。
使用 Connect 至您的 Windows 執行個體 RDP
您可以透過EC2執行個體 Connect 線端點使用遠端桌面通訊協定 (RDP),連線到沒有公開IPv4位址或公開DNS名稱的 Windows 執行個體。
使用用RDP戶端連線至您的 Windows 執行個體
-
完成使用 Connect 至您的 Windows 執行個體中的步驟 1 — 8 RDP。在步驟 8 下載RDP桌面檔案後,您會收到「無法連線」訊息,這是預期的訊息,因為您的執行個體沒有公用 IP 位址。
-
執行下列命令,建立執行個體所VPC在的私人通道。
--remote-port
必須是3389
因為依預設RDP使用連接埠 3389。aws ec2-instance-connect open-tunnel \ --instance-id
i-0123456789example
\ --remote-port 3389 \ --local-portany-port
-
在「下載」資料夾中,找到您下載的RDP桌面檔案,然後將其拖曳至用RDP戶端視窗。
-
以滑鼠右鍵按一下RDP桌面檔案,然後選擇
-
在 [編輯電腦] 視窗中,針對電腦名稱 (要連線的執行個體) 輸入
localhost:
,其中local-port
使用與您在步驟 2 中指定的相同值,然後選擇 [儲存]。local-port
請注意,編輯電腦視窗的以下螢幕截取畫面來自 Mac 中的 Microsoft 遠端桌面。如果使用 Windows 用戶端,則該視窗可能會有所不同。
-
在RDP用戶端中,以滑鼠右鍵按一下電腦 (您剛設定的電腦),然後選擇 [Connect] 以連線至您的執行個體。
-
出現提示時,輸入管理員帳戶的解密密碼。
疑難排解
使用下列資訊協助診斷並修正使用執行個EC2體連線端點連線執行個體時可能遇到的問題。
無法連線至執行個體
以下是您可能無法連線至執行個體的常見原因。
-
安全群組 — 檢查指派給EC2執行個體 Connect 端點和執行個體的安全群組。有關所需安全群組規則的詳細資訊,請參閱 EC2執行個體 Connect 端點的安全群組。
-
執行個體狀態:驗證您的執行個體處於
running
狀態。 -
金鑰對:如果用來連線的命令需要私有金鑰,請確認執行個體具有公有金鑰,且您擁有對應的私有金鑰。
-
IAM權限 — 確認您擁有必要的IAM權限。如需詳細資訊,請參閱授與使用EC2執行個體 Connect 端點的權限。
如需 Linux 執行個體的詳細疑難排解秘訣,請參閱解決連線到 Amazon EC2 Linux 執行個體的問題。如需 Windows 執行個體的疑難排解提示,請參閱疑難排解連線到 Amazon 視EC2窗執行個體的。
ErrorCode: AccessDeniedException
如果您收到錯AccessDeniedException
誤訊息,且maxTunnelDuration
條件已在IAM原則中指定,請務必在連線至執行個體時指定--max-tunnel-duration
參數。如需此參數的詳細資訊,請參閱 open-tunnel