本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 EC2 Instance Connect 連線至 Linux 執行個體
下列指示說明如何透過 Amazon EC2 主控台 AWS CLI、 或 SSH 用戶端,使用 EC2 Instance Connect 連線至您的 Linux 執行個體。 Amazon EC2
當您透過主控台使用 EC2 Instance Connect 連線到執行個體 AWS CLI,或 EC2 Instance Connect API 會自動將 SSH 公有金鑰推送至執行個體中繼資料,並保留 60 秒。連接至您使用者的 IAM 政策會授權此動作。如果您偏好使用自己的 SSH 金鑰,則可以使用 SSH 用戶端,並使用 EC2 Instance Connect 將 SSH 金鑰明確推送至執行個體。
要求
在開始之前,請務必檢閱先決條件。
使用 Connect Amazon EC2 主控台進行連線
您可以透過 Amazon EC2 主控台使用 EC2 Instance Connect 連線到執行個體。
要求
若要使用 Amazon EC2 主控台進行連線,執行個體必須具有公用 IPv4 或公有 IPv6 地址。如果執行個體只有私有 IPv4 地址,您可以使用 ec2-instance-connect AWS CLI 進行連線。
要使用 Amazon EC2 主控台連線至執行個體
在 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在導覽窗格中,選擇 Instances (執行個體)。
-
選取執行個體,然後選取 Connect (連線)。
-
選擇 EC2 Instance Connect 索引標籤。
-
針對連線類型,請選擇使用 EC2 Instance Connect 進行連線。
-
如果有選擇,請選取要連線的 IP 位址。否則,系統會自動選取 IP 位址。
-
針對使用者名稱,請驗證使用者名稱。
-
選擇連線以建立連線。瀏覽器內的終端機視窗隨即開啟。
使用 連線 AWS CLI
您可以使用 ec2-instance-connect
連線類型
auto
(default)-
EC2 Instance Connect 會嘗試依下列順序使用執行個體的 IP 位址並使用對應的連線類型進行連線:
-
公有 IPv4:
direct
-
私有 IPv4:
eice
-
公有 IPv6:
direct
-
direct
-
EC2 Instance Connect 會嘗試依下列順序使用執行個體的 IP 位址進行連線:
-
公有 IPv4
-
公有 IPv6
-
私有 IPv4 (不會透過 EC2 Instance Connect Endpoint 連線)
-
eice
-
EC2 Instance Connect 會嘗試使用執行個體的私有 IPv4 地址及 EC2 Instance Connect Endpoint 進行連線。
注意
將來,我們可能會變更 auto
連線類型的行為。若要確保使用您想要的連線類型,建議您明確地將 --connection-type
設定為 direct
或 eice
。
使用 ec2-instance-connect
要求
您必須使用第 2 AWS CLI 版。如需詳細資訊,請參閱安裝或更新最新版本的 AWS CLI。
使用執行個體 ID 連線到執行個體
如果您只知道執行個體 ID,並希望讓 EC2 Instance Connect 決定連線到執行個體時要使用的連線類型,則請使用 ec2-instance-connectssh
命令和執行個體 ID。
aws ec2-instance-connect ssh --instance-id
i-1234567890example
使用執行個體 ID 和 EC2 Instance Connect Endpoint 連線至執行個體
如果要透過 EC2 Instance Connect Endpoint 連線到執行個體,則請使用上述命令並指定具有 eice
值的 --connection-type
參數。
aws ec2-instance-connect ssh --instance-id
i-1234567890example
--connection-type eice
使用執行個體 ID 和您自己的私有金鑰檔案連線至執行個體
如果想透過 EC2 Instance Connect Endpoint 使用自己的私有金鑰連線到執行個體,則請指定執行個體 ID 和私有金鑰檔案的路徑。請勿在路徑中包含 file://
;下列範例會無效:file:///path/to/key
。
aws ec2-instance-connect ssh --instance-id
i-1234567890example
--private-key-file/path/to/key
.pem
提示
如果您在使用這些命令時發生錯誤,請確定您使用的是第 2 AWS CLI 版,因為該ssh
命令僅適用於此主要版本。我們也建議定期更新至 AWS CLI
版本 2 的最新次要版本,以存取最新功能。如需相關資訊,請參閱「AWS Command Line Interface 使用者指南」中的關於 AWS CLI 第 2 版。
使用您自己的金鑰和 SSH 用戶端來進行連接
當您使用 EC2 Instance Connect API 時,您可以使用自己的 SSH 金鑰和從您選擇的 SSH 用戶端連接執行個體。這可讓您從 EC2 Instance Connect 發佈公有的金鑰至執行個體。此連線方法適用於具有公有和私有 IP 地址的執行個體。
要求
-
金鑰對的需求
-
支援的類型:RSA (OpenSSH 和 SSH2) 和 ED25519
-
支援的長度:2048 和 4096
-
如需詳細資訊,請參閱使用第三方工具來建立金鑰對,然後將公有金鑰匯入 Amazon EC2。
-
-
連線到僅具有私有 IP 位址的執行個體時,從中起始 SSH 工作階段的本機電腦必須具有連線到 EC2 Instance Connect 服務端點的能力 (以將 SSH 公有金鑰推送至執行個體),以及透過網路連線到執行個體私有 IP 位址的能力,以建立 SSH 工作階段。EC2 Instance Connect 服務端點可透過網際網路或 AWS Direct Connect 公有虛擬介面進行連線。若要連線到執行個體的私有 IP 地址,您可以使用服務,例如 AWS Direct Connect
、AWS Site-to-Site VPN 或 VPC 互連。
使用您自己的金鑰和任何 SSH 用戶端來連接制執行個體
-
(選用) 產生新 SSH 私有和公有金鑰
您可以使用以下命令來產生新 SSH 私有和公有金鑰 (
my_key
和my_key.pub
):ssh-keygen -t rsa -f my_key
-
將 SSH 公有金鑰推送至執行個體
使用 send-ssh-public-key
命令將 SSH 公開金鑰推送至執行個體。如果使用 AL2023 或 Amazon Linux 2 啟動執行個體,AMI 的預設使用者名稱為 ec2-user
。如果您是使用 Ubuntu 啟動執行個體,AMI 的預設使用者名稱為ubuntu
。下列範例將公開金鑰推送至特定可用區域的特定執行個體,若要認證
ec2-user
。aws ec2-instance-connect send-ssh-public-key \ --region
us-west-2
\ --availability-zoneus-west-2b
\ --instance-idi-001234a4bf70dec41EXAMPLE
\ --instance-os-userec2-user
\ --ssh-public-key file://my_key.pub
-
使用私有金鑰連線至執行個體
使用 ssh 命令,來使用私有金鑰連接至執行個體,之後系統會將公有金鑰從執行個體中繼資料中移除 (在系統移除金鑰前您有 60 秒的時間)。指定對應於公有金鑰應的私有金鑰、用於啟動執行個體之 AMI 的預設使用者名稱,以及執行個體的公有 DNS 名稱 (如果透過私有網路連線,請指定私有 DNS 名稱或 IP 位址)。新增該
IdentitiesOnly=yes
選項以確保連線只使用 ssh 組態中的檔案和指定的金鑰。ssh -o "IdentitiesOnly=yes" -i
my_key
ec2-user
@ec2-198-51-100-1.compute-1.amazonaws.com
疑難排解
如果您在嘗試連線至執行個體時遇到錯誤,請參閱下文: