

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 一般連線先決條件
<a name="connection-prereqs-general"></a>

以下是連線至執行個體的一般先決條件。請注意，您選擇的連線選項可能還有其他特定的先決條件。

**一般先決條件**
+ 請確認您的執行個體已通過狀態檢查。執行個體可能需要幾分鐘的時間準備就緒，以接受連線要求。如需詳細資訊，請參閱[檢視狀態檢查](viewing_status.md)。
+ [取得必要的執行個體詳細資訊](#connection-prereqs-get-info-about-instance).
+ [找出私有金鑰並設定許可](#connection-prereqs-private-key).
+ [(選用) 取得執行個體指紋](#connection-prereqs-fingerprint).

## 取得必要的執行個體詳細資訊
<a name="connection-prereqs-get-info-about-instance"></a>

若準備連線至執行個體，請從 Amazon EC2 主控台或使用命令列取得下列資訊。

![\[Amazon EC2 主控台的「執行個體」窗格。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/connection-prereqs-console2.png)

+ **取得執行個體的公有 DNS 名稱。**

  您可以從 Amazon EC2 主控台取得執行個體的公有 DNS。檢查**執行個體**窗格的**公有 IPv4 DNS** 資料欄。如果此資料欄已隱藏，請選擇畫面右上角的設定圖示 (![\[The gear icon.\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/settings-icon.png))，並選取**公有 IPv4 DNS**。您也可以在**執行個體**窗格的執行個體資訊區段中找到公有 DNS。當您在 Amazon EC2 主控台的**執行個體**窗格中選取執行個體時，該執行個體的相關資訊將顯示在頁面的下半部。在**詳細資訊**索引標籤下，查找**公有 IPv4 DNS**。

  如果您願意的話，可以使用 [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) (AWS CLI) 或 [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) (AWS Tools for Windows PowerShell) 命令。

  如果未顯示**公有 IPv4 DNS**，則請確認**執行個體狀態**為**執行中**，且您尚未在私有子網路中啟動執行個體。如果您使用[啟動執行個體精靈](ec2-launch-instance-wizard.md)啟動執行個體，則可能已編輯**網路設定**下的**自動指派公有 IP** 欄位，並將值變更為**停用**。如果停用**自動指派公有 IP** 選項，則執行個體在啟動時不會被指派公有 IP 地址。
+ **(僅限 IPv6 執行個體) 取得執行個體的 IPv6 地址。**

  如果您已將 IPv6 地址指派給執行個體，則您可使用其 IPv6 地址連線至執行個體，而不必使用公有 IPv4 地址或公有 IPv4 DNS 主機名稱。您的本機電腦必須擁有 IPv6 地址，且必須設定以使用 IPv6。您可以從 Amazon EC2 主控台取得執行個體的 IPv6 地址。檢查**執行個體**窗格的 **IPv6 IP** 資料欄。或者，您可以在執行個體資訊區段中找到 IPv6 地址。當您在 Amazon EC2 主控台的**執行個體**窗格中選取執行個體時，該執行個體的相關資訊將顯示在頁面的下半部。在**詳細資訊**索引標籤下，查找 **IPv6 地址**。

  如果您願意的話，可以使用 [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) (AWS CLI) 或 [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) (AWS Tools for Windows PowerShell) 命令。如需有關 IPv6 的詳細資訊，請參閱 [IPv6 地址](using-instance-addressing.md#ipv6-addressing)。
+ **(Linux 執行個體) 取得執行個體的使用者名稱。**

  使用您的使用者帳戶的使用者名稱或用於啟動執行個體的 AMI 預設使用者名稱，可連線至執行個體。
  + **取得使用者帳戶的使用者名稱。**

    如需如何建立使用者帳戶的詳細資訊，請參閱[在您的 Amazon EC2 Linux 執行個體上管理系統使用者](managing-users.md)。
  + **取得您用於啟動執行個體的 AMI 的預設使用者名稱。**
    + **Amazon Linux** – `ec2-user`
    + **CentOS** – `centos` 或 `ec2-user`
    + **Debian** – `admin`
    + **Fedora** – `fedora` 或 `ec2-user`
    + **FreeBSD** – `ec2-user`
    + **RHEL** – `ec2-user` 或 `root`
    + **SUSE** – `ec2-user` 或 `root`
    + **Ubuntu** – `ubuntu`
    + **Oracle** – `ec2-user`
    + **Bitnami** – `bitnami`
    + **Rocky Linux** – `rocky`
    + **其它** – 檢查 AMI 提供者

## 找出私有金鑰並設定許可
<a name="connection-prereqs-private-key"></a>

您必須知道私有金鑰檔案的位置，才能使用 SSH 或使用 RDP 的 Windows 執行個體與 Linux 執行個體進行初始連線。若為 SSH 連線，則必須設定檔案許可，以便只有您可以讀取金鑰。

如需有關使用 Amazon EC2 時金鑰對如何運作的資訊，請參閱 [Amazon EC2 金鑰對和 Amazon EC2 執行個體](ec2-key-pairs.md)。
+ **找出私有金鑰。**

  取得當您啟動執行個體時所指定的金鑰對的 `.pem` 檔案在您電腦中的位置的完整路徑。如需詳細資訊，請參閱[識別啟動時指定的公有金鑰](describe-keys.md#identify-key-pair-specified-at-launch)。

  如果您找不到私有金鑰檔案，請參閱 [我的私有金鑰遺失。如何連線到我的執行個體？](TroubleshootingInstancesConnecting.md#replacing-lost-key-pair)

  (Linux 執行個體) 如果使用 Putty 連線至執行個體，且需要將 `.pem` 檔案轉換為 `.ppk`，請參閱 [使用 PuTTYgen 轉換私有金鑰](connect-linux-inst-from-windows.md#putty-private-key)。
+ **(Linux 執行個體) 設定私有金鑰的許可，確保只有您可以讀取。**
  + **從 macOS 或 Linux 進行連線**

    如果您計劃在 macOS 或 Linux 電腦上使用 SSH 用戶端連線至 Linux 執行個體，請使用下列命令設定私有金鑰檔案的許可，以便只有您能夠讀取該檔案。

    ```
    chmod 400 key-pair-name.pem
    ```

    如果您未設定這些許可，則無法使用此金鑰對來連接至您的執行個體。如需詳細資訊，請參閱[錯誤：未受保護的私有金鑰檔案](TroubleshootingInstancesConnecting.md#troubleshoot-unprotected-key)。
  + **從 Windows 進行連線**

    開啟檔案總管並在 `.pem` 檔案上按一下滑鼠右鍵。選取**屬性** > **安全性**索引標籤，然後選擇**進階**。選擇**停用繼承**。移除目前使用者以外的所有使用者存取權。

## (選用) 取得執行個體指紋
<a name="connection-prereqs-fingerprint"></a>

為了保護自己免受中間人攻擊，您可以透過驗證顯示的指紋來驗證即將連線的執行個體真實性。如果已從第三方提供的公有 AMI 啟動您的執行個體，則驗證指紋會很有幫助。

**任務概觀**  
首先，從執行個體取得執行個體指紋。然後，當您連線到執行個體並收到提示來驗證指紋時，請將您在此程序取得的指紋與顯示的指紋進行比較。如果這些指紋不符，可能有人嘗試發動中間人攻擊。如果相符，您就能很有信心地連線至您的執行個體。

**取得執行個體指紋的先決條件**
+ 執行個體必不得處於 `pending` 狀態。只有在執行個體的第一次開機完成後，才能使用指紋。
+ 您必須是執行個體擁有者才能取得主控台輸出。
+ 有多種方式可取得執行個體指紋。若要使用 AWS CLI，必須在本機電腦安裝。如需安裝 的資訊 AWS CLI，請參閱*AWS Command Line Interface 《 使用者指南*》中的 [入門 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)。

**取得執行個體指紋**

在步驟 1，您會取得主控台輸出，其中包含執行個體指紋。在步驟 2，您可以在主控台輸出找到執行個體指紋。

1. 使用下列方法之一取得主控台輸出。

------
#### [ Console ]

   1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

   1. 從左側導覽，選擇**執行個體**。

   1. 選取執行個體，然後再依序選擇**動作**、**監控和疑難排解**和**取得系統日誌**。

------
#### [ AWS CLI ]

   在本機電腦上 (而非所連線的執行個體)，如下所示使用 [get-console-output](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-console-output.html) 命令來取得執行個體的指紋。如果輸出很大，[可以將輸出傳送至文字檔案](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output-format.html)，這可能更易於讀取。

   ```
   aws ec2 get-console-output \
       --instance-id i-1234567890abcdef0 \
       --query Output \
       --output text > temp.txt
   ```

------
#### [ PowerShell ]

   於本機電腦，使用下面的 [Get-EC2ConsoleOutput](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ConsoleOutput.html) cmdlet。

   ```
   $encodedOutput = (Get-EC2ConsoleOutput -InstanceId i-1234567890abcdef0).Output
   [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($encodedOutput))
   ```

------

1. 在主控台輸出，尋找位於 `BEGIN SSH HOST KEY FINGERPRINTS` 下的執行個體 (主機) 指紋。可能會有數個執行個體指紋。當連線到執行個體時，它只會顯示其中一個指紋。

   具體的輸出可能因作業系統、AMI 版本以及是否使用 AWS 建立的金鑰對而有所不同。以下為範例輸出。

   ```
   ec2:#############################################################
   ec2: -----BEGIN SSH HOST KEY FINGERPRINTS-----
   ec2: 256 SHA256:l4UB/neBad9tvkgJf1QZWxheQmR59WgrgzEimCG6kZY no comment (ECDSA)
   ec2: 256 SHA256:kpEa+rw/Uq3zxaYZN8KT501iBtJOIdHG52dFi66EEfQ no comment (ED25519)
   ec2: 2048 SHA256:L8l6pepcA7iqW/jBecQjVZClUrKY+o2cHLI0iHerbVc no comment (RSA)
   ec2: -----END SSH HOST KEY FINGERPRINTS-----
   ec2: #############################################################
   ```
**注意**  
您會在連線至執行個體時參考此指紋。