Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
我可以使用哪些方法連線至我的 EC2 Linux 執行個體?
我想知道有哪些選項可用於連線至 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。
簡短說明
連線至 Amazon EC2 Linux 執行個體的方法有四種:
- 安全殼層 (SSH)
- 適用於 Linux 執行個體的 EC2 序列主控台
- 工作階段管理員 (AWS Systems Manager 的功能)
- Amazon EC2 Instance Connect
解決方法
SSH
限制:
- SSH 沒有內建的連線記錄和稽核。
- AWS 為每個 EC2 執行個體部署單一金鑰對,用於透過 SSH 進行身分驗證。
- 如果您遺失金鑰對,則無法重新產生。如需詳細資訊,請參閱如果我在初始啟動後遺失了 SSH 金鑰對,該如何連線至 Amazon EC2 執行個體?
**重要事項:**連線至執行個體之前,請確保具備所有先決條件。
方法 1: 使用終端機視窗
開啟終端機視窗 (Linux 或 MacOS),然後執行 SSH 命令以連線至執行個體。
使用公用網域名稱:
ssh -i /path/key-pair-name.pem instance-user-name@instance-public-dns-name
使用公用 IPv4 地址:
ssh -i /path/key-pair-name.pem instance-user-name@instance-public-IPv4-address
使用公用 IPv6 地址:
ssh -i /path/key-pair-name.pem instance-user-name@instance-IPv6-address
如需詳細資訊,請參閱使用 SSH 用戶端連線至 Linux 執行個體。
方法 2: 在 Windows 上使用 OpenSSH
- 執行下列命令以使用 PowerShell 安裝適用於 Windows 的 OpenSSH。
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
**注意:**若要安裝 OpenSSH,您必須以管理員身分執行 PowerShell。
- 執行 SSH 命令以連線至您的執行個體:
使用公用網域名稱:
ssh -i /path/key-pair-name.pem instance-user-name@instance-public-dns-name
使用公用 IPv4 地址:
ssh -i /path/key-pair-name.pem instance-user-name@instance-public-IPv4-address
使用公用 IPv6 地址:
ssh -i /path/key-pair-name.pem instance-user-name@instance-IPv6-address
方法 3: 在 Windows 上使用 PuTTY
-
使用 PuTTYgen 轉換您的私密金鑰。
-
使用 PuTTY 連線至您的執行個體。
-
啟動 PuTTY。
-
在類別下,選擇工作階段。
-
在主機名稱中,輸入使用者名稱/主機名稱組合:
使用公用網域名稱:
instance-user-name@instance-public-dns-name
使用公用 IPv4 地址:
instance-user-name@instance-IPv4-address
使用公用 IPv6 地址:
instance-user-name@instance-IPv6-address
-
確認連接埠值與 SSH 服務連接埠 (預設為 22) 相符。
-
對於連線類型,選擇 SSH。
-
在類別下,展開連線、展開 SSH,然後選擇 驗證。
-
選擇瀏覽,然後選取您為金鑰對產生的 .ppk 檔案。
-
選擇開啟。
**注意:**首次連線至執行個體時,必須確認您信任遠端主機。
適用於 Linux 執行個體的 EC2 序列主控台
EC2 序列主控台與 EC2 執行個體建立序列式連線,允許您對啟動和網路連線問題進行疑難排解。
限制:
- 每個執行個體僅支援一個作用中的序列主控台連線。
- 工作階段之間必須至少有 30 秒的間隔。
- EC2 序列主控台工作階段期間,執行個體的輸送量略有下降。
- 不支援 Xen 執行個體。
- Wavelength 區域和 AWS Outposts 不支援 EC2 序列主控台。
- 僅特定 AWS 區域支援 EC2 序列主控台。
**重要事項:**使用 E2 序列主控台進行連線前,請確保具備所有先決條件。
方法 1: 使用以瀏覽器為介面的用戶端
1. 開啟 EC2 主控台。
- 選擇執行個體。
3. 選取您的執行個體,然後選擇動作、監視和疑難排解、EC2 序列主控台、連線。或者,選擇執行個體,然後選取連線、EC2 序列主控台、連線。
- 當瀏覽器內終端機視窗開啟時,按 Enter 鍵。如果顯示登入提示,請輸入密碼型使用者的使用者名稱,然後按 Enter 鍵。
在密碼提示中,輸入密碼,然後按 Enter 鍵。
方法 2: 使用 SSH
- 將 SSH 公開金鑰推送至執行個體以啟動序列主控台工作階段:
aws ec2-instance-connect send-serial-console-ssh-public-key \ --instance-id i-0123456789EXAMPLE \ --serial-port 0 \ --ssh-public-key file://my_key.pub \ --region us-east-1
**注意:**在前述範例命令中,確認您將 file:// 字首新增至 SSH 公開金鑰路徑。
- 使用您的私密金鑰連線到序列主控台:
ssh -i my_key i-0123456789EXAMPLE.port0@serial-console.ec2-instance-connect.us-east-1.aws
-
(選用) 驗證指紋。將您首次連線至序列主控台時出現的指紋與該區域唯一的 EC2 序列主控台指紋進行比對。
-
如果傳回提示,請輸入密碼型使用者的使用者名稱,然後按 Enter 鍵。
5. 在密碼提示中,輸入密碼,然後按 Enter 鍵。
工作階段管理員
工作階段管理員允許安全存取受管節點,無需開啟傳入連接埠或管理 SSH 金鑰。您可以使用 AWS CloudTrail 事件來稽核工作階段管理員工作階段,並使用 AWS Identity and Access Management (IAM) 政策控制工作階段。
限制:
- 您無法使用工作階段管理員傳輸檔案。
**注意:**而是使用 S3 儲存貯體和 AWS CLI 來交換資料。 - 日誌記錄不適用於透過連接埠轉送或 SSH 連線的工作階段管理員工作階段。這是因為 SSH 會加密所有工作階段資料,而工作階段管理員只能用作 SSH 連線的通道。
- 並非所有作業系統 (OS) 都支援 AWS Systems Manager。如需詳細資訊,請參閱支援的作業系統。
**重要事項:**在使用工作階段管理員連線至您的執行個體之前,請確認具備所有先決條件。
最佳做法是建立 VPC 端點以供 Systems Manager 使用:
- 開啟 Systems Manager 主控台。
- 選擇工作階段管理員。
- 選擇開始工作階段。
- (選用) 在工作階段原因欄位中輸入工作階段描述。
- 選取要連線的受管節點,然後選擇啟動工作階段以立即啟動工作階段。
-或-
(選用) 使用自訂文件來設定工作階段設定,包括持續時間、加密和日誌:
對於工作階段選項,選擇下一步。
對於工作階段文件,選取您想在工作階段啟動時執行的文件。如果您的文件支援執行期參數,則可以在每個參數欄位中輸入一個或多個以逗號分隔的值。
選擇下一步。
選擇開始工作階段。
使用 EC2 主控台進行連線
- 開啟 EC2 主控台。
- 選擇執行個體。
- 選取執行個體,然後選擇連線。
- 對於連線方法,選擇工作階段管理員。
- 選擇連線。
使用 AWS CLI 進行連線
注意:
- 如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請確認您使用的是最新的 AWS CLI 版本。
- 若要使用 AWS CLI 執行工作階段命令,您必須在本機電腦上安裝工作階段管理員外掛程式。
執行下列命令:
aws ssm start-session --target instance-id
透過工作階段管理員使用 SSH 進行連線
要求:
- 您必須將目標受管執行個體設定為支援 SSH 連線。
- 正在執行的 AWS Systems Manager Agent (AWS SSM Agent) 版本必須為 2.3.672.0 或更新版本。
- 您可以存取隱私增強郵件 (PEM) 憑證,並且可以使用與其相關聯的帳戶進行連線。例如,Ubuntu 受管節點的使用者帳戶「ubuntu」。
若要使用 SSH 啟動工作階段,請執行下列命令:
ssh -i /path/my-key-pair.pem username@instance-id,/code>
Amazon EC2 Instance Connect
EC2 Instance Connect 允許透過 SSH 安全存取您的執行個體。EC2 Instance Connect 提供多種選項,無需共享 SSH 金鑰即可連線至執行個體。
限制:
- EC2 Instance Connect 對 Linux 發行版的支援有限。
- 必須尚未設定 AuthorizedKeysCommand 和 AuthorizedKeysCommandUser 設定。
- 本機區域不支援 EC2 Instance Connect。
- 使用 Amazon EC2 主控台時,必須使用公用 IPv4 地址才能連線。
- EC2 Instance Connect 不支援使用 IPv6 地址進行連線。
**重要事項:**在使用 Amazon EC2 Instance Connect 之前,請確保具備所有先決條件。
**使用 Amazon EC2 主控台進行連線 (僅適用於具有 IPv4 公用地址的執行個體) **
1. 開啟 Amazon EC2 主控台。
2. 在導覽窗格中,選擇執行個體。
-
選取執行個體,然後選擇連線。
-
選擇 EC2 Instance Connect。
-
驗證使用者名稱,然後選擇連線,以開啟終端機視窗。
使用您自己的金鑰和 SSH 用戶端進行連線
**注意:**您必須在要連線的執行個體上安裝 EC2 Instance Connect CLI。
- 執行下列命令以產生新的 SSH 私密金鑰和公開金鑰:
ssh-keygen -t rsa -f my_key
- 將您的 SSH 公開金鑰推送至執行個體:
Amazon Linux:
aws ec2-instance-connect send-ssh-public-key \ --region us-west-2 \ --instance-id i-0123456789Amzn \ --instance-os-user ec2-user \ --ssh-public-key file://my_key.pub
Ubuntu:
aws ec2-instance-connect send-ssh-public-key \ --region us-west-2 \ --instance-id i-0123456789Ubuntu \ --instance-os-user ubuntu\ --ssh-public-key file://my_key.pub
**注意:**在前述範例命令中,確認您將 file:// 字首新增至 SSH 公開金鑰路徑。
- 使用您的私密金鑰連線到執行個體:
Amazon Linux:
ssh -o "IdentitiesOnly=yes" -i my_key ec2-user@instance-public-dns-name
Ubuntu:
ssh -o "IdentitiesOnly=yes" -i my_key ubuntu@instance-public-dns-name
**注意:**標準的 Amazon EC2 執行個體公用 DNS 名稱看起來類似於 **ec2-12-34-56-78.us-west-2.compute.amazonaws.com。**此名稱包含 AWS 網域、服務 (本範例中為 compute)、區域和公用 IP 地址的形式。
使用 EC2 執行個體 CLI 進行連線
Amazon Linux:
$mssh i-0123456789Amzn
Ubuntu:
$mssh ubuntu@i-0123456789Ubuntu
相關內容
- 已提問 2 年前
- 已提問 1 年前
- 已提問 2 年前
