我可以使用哪些方法連線至我的 EC2 Linux 執行個體?

4 分的閱讀內容
0

我想知道有哪些選項可用於連線至 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。

簡短說明

連線至 Amazon EC2 Linux 執行個體的方法有四種:

  • 安全殼層 (SSH)
  • 適用於 Linux 執行個體的 EC2 序列主控台
  • 工作階段管理員 (AWS Systems Manager 的功能)
  • Amazon EC2 Instance Connect

解決方法

SSH

限制:

**重要事項:**連線至執行個體之前,請確保具備所有先決條件

方法 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

  1. 執行下列命令以使用 PowerShell 安裝適用於 Windows 的 OpenSSH。
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

**注意:**若要安裝 OpenSSH,您必須以管理員身分執行 PowerShell。

  1. 執行 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

  1. 使用 PuTTYgen 轉換您的私密金鑰

  2. 使用 PuTTY 連線至您的執行個體。

  3. 啟動 PuTTY。

  4. 類別下,選擇工作階段

  5. 主機名稱中,輸入使用者名稱/主機名稱組合:

使用公用網域名稱:

instance-user-name@instance-public-dns-name

使用公用 IPv4 地址:

instance-user-name@instance-IPv4-address

使用公用 IPv6 地址:

instance-user-name@instance-IPv6-address
  1. 確認連接埠值與 SSH 服務連接埠 (預設為 22) 相符。

  2. 對於連線類型,選擇 SSH

  3. 類別下,展開連線、展開 SSH,然後選擇 驗證

  4. 選擇瀏覽,然後選取您為金鑰對產生的 .ppk 檔案。

  5. 選擇開啟

**注意:**首次連線至執行個體時,必須確認您信任遠端主機。

適用於 Linux 執行個體的 EC2 序列主控台

EC2 序列主控台與 EC2 執行個體建立序列式連線,允許您對啟動和網路連線問題進行疑難排解。

限制:

  • 每個執行個體僅支援一個作用中的序列主控台連線。
  • 工作階段之間必須至少有 30 秒的間隔。
  • EC2 序列主控台工作階段期間,執行個體的輸送量略有下降。
  • 不支援 Xen 執行個體
  • Wavelength 區域和 AWS Outposts 不支援 EC2 序列主控台。
  • 僅特定 AWS 區域支援 EC2 序列主控台。

**重要事項:**使用 E2 序列主控台進行連線前,請確保具備所有先決條件

方法 1: 使用以瀏覽器為介面的用戶端

1.    開啟 EC2 主控台

  1. 選擇執行個體

3.    選取您的執行個體,然後選擇動作監視和疑難排解EC2 序列主控台連線。或者,選擇執行個體,然後選取連線EC2 序列主控台連線

  1. 當瀏覽器內終端機視窗開啟時,按 Enter 鍵。如果顯示登入提示,請輸入密碼型使用者的使用者名稱,然後按 Enter 鍵。

密碼提示中,輸入密碼,然後按 Enter 鍵。

方法 2: 使用 SSH

  1. 將 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 公開金鑰路徑。

  1. 使用您的私密金鑰連線到序列主控台:
ssh -i my_key i-0123456789EXAMPLE.port0@serial-console.ec2-instance-connect.us-east-1.aws
  1. (選用) 驗證指紋。將您首次連線至序列主控台時出現的指紋與該區域唯一的 EC2 序列主控台指紋進行比對。

  2. 如果傳回提示,請輸入密碼型使用者的使用者名稱,然後按 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 使用:

  1. 開啟 Systems Manager 主控台
  2. 選擇工作階段管理員
  3. 選擇開始工作階段
  4. (選用) 在工作階段原因欄位中輸入工作階段描述。
  5. 選取要連線的受管節點,然後選擇啟動工作階段以立即啟動工作階段。
    -或-
    (選用) 使用自訂文件來設定工作階段設定,包括持續時間、加密和日誌:
    對於工作階段選項,選擇下一步
    對於工作階段文件,選取您想在工作階段啟動時執行的文件。如果您的文件支援執行期參數,則可以在每個參數欄位中輸入一個或多個以逗號分隔的值。
    選擇下一步
    選擇開始工作階段

使用 EC2 主控台進行連線

  1. 開啟 EC2 主控台
  2. 選擇執行個體
  3. 選取執行個體,然後選擇連線
  4. 對於連線方法,選擇工作階段管理員
  5. 選擇連線

使用 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 發行版的支援有限。
  • 必須尚未設定 AuthorizedKeysCommandAuthorizedKeysCommandUser 設定。
  • 本機區域不支援 EC2 Instance Connect。
  • 使用 Amazon EC2 主控台時,必須使用公用 IPv4 地址才能連線。
  • EC2 Instance Connect 不支援使用 IPv6 地址進行連線。

**重要事項:**在使用 Amazon EC2 Instance Connect 之前,請確保具備所有先決條件

**使用 Amazon EC2 主控台進行連線 (僅適用於具有 IPv4 公用地址的執行個體) **

1.    開啟 Amazon EC2 主控台

2.    在導覽窗格中,選擇執行個體

  1. 選取執行個體,然後選擇連線

  2. 選擇 EC2 Instance Connect

  3. 驗證使用者名稱,然後選擇連線,以開啟終端機視窗。

使用您自己的金鑰和 SSH 用戶端進行連線

**注意:**您必須在要連線的執行個體上安裝 EC2 Instance Connect CLI

  1. 執行下列命令以產生新的 SSH 私密金鑰和公開金鑰:
ssh-keygen -t rsa -f my_key
  1. 將您的 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 公開金鑰路徑。

  1. 使用您的私密金鑰連線到執行個體:

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
AWS 官方
AWS 官方已更新 10 個月前