我可以使用哪些方法連線至我的 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
相關內容
- 已提問 10 個月前lg...
- 已提問 10 個月前lg...
- 已提問 1 年前lg...
- 已提問 1 年前lg...
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 2 年前