

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

# 使用 SSH 用戶端連接至 Linux 執行個體
<a name="connect-linux-inst-ssh"></a>

您可以使用 Secure Shell (SSH) 從本機電腦連線至 Linux 執行個體。如需關於其他選項的詳細資訊，請參閱 [連線至 EC2 執行個體](connect.md)。

**注意**  
如果您在嘗試連線至執行個體時收到錯誤訊息，請確認執行個體符合所有 [SSH 連線先決條件](#ssh-prereqs-linux-from-linux-macos)。如果其符合所有先決條件，但您仍然無法連線至 Linux 執行個體，請參閱 [對連線至 Amazon EC2 Linux 執行個體的問題進行疑難排解](TroubleshootingInstancesConnecting.md)。

**Topics**
+ [

## SSH 連線先決條件
](#ssh-prereqs-linux-from-linux-macos)
+ [

## 使用 SSH 用戶端連接至 Linux 執行個體
](#connect-linux-inst-sshClient)

## SSH 連線先決條件
<a name="ssh-prereqs-linux-from-linux-macos"></a>

在使用 SSH 連線到 Linux 執行個體之前，請完成下列任務。

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

**允許來自 IP 位址的傳入 SSH 流量。**  
請確保與執行個體關聯的安全群組允許來自您的 IP 地址的傳入 SSH 流量。如需詳細資訊，請參閱[從您電腦連線到執行個體的規則](security-group-rules-reference.md#sg-rules-local-access)。

**視需要在本機電腦安裝 SSH 用戶端。**  
您的本機電腦可能已預設安裝 SSH 用戶端。您可以在終端機視窗輸入下列命令來驗證這一點。若您的電腦無法識別該命令，您必須安裝 SSH 用戶端。  

```
ssh
```
以下是 Windows 的一些可能選項。如果您的電腦執行不同的作業系統，請參閱該作業系統的文件以取得 SSH 用戶端選項。

## 在 Windows 安裝 OpenSSL
<a name="openssh"></a>

在 Windows 安裝 OpenSSH 後，您可以使用 SSH 從 Windows 電腦連線至 Linux 執行個體。開始之前，請確定符合下列要求。

**Windows 版本**  
電腦上的 Windows 版本必須是 Windows Server 2019 或更新版本。  
對於舊版 Windows，請下載並安裝 [Win32-OpenSSH](https://github.com/PowerShell/Win32-OpenSSH/wiki)。

**PowerShell 需求**  
若要使用 PowerShell 在您的 Windows 作業系統中安裝 OpenSSH，您必須執行 PowerShell 5.1 版或更高版本，並且您的帳戶必須是內建管理員群組的成員。從 PowerShell 執行 `$PSVersionTable.PSVersion` 以檢查您的 PowerShell 版本。  
若要檢查您是否是內建管理員群組的成員，請執行下列 PowerShell 命令：  

```
(New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
```
如果您是內建管理員群組的成員，則輸出為 `True`。

若要使用 PowerShell 安裝適用於 Windows 的 OpenSSH，請執行下列 PowerShell 命令。

```
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
```

以下為範例輸出。

```
Path          :
Online        : True
RestartNeeded : False
```

若要使用 PowerShell 從 Windows 中解除安裝 OpenSSH，請執行下列 PowerShell 命令。

```
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
```

以下為範例輸出。

```
Path          :
Online        : True
RestartNeeded : True
```

## 安裝適用於 Linux 的 Windows 子系統 (WSL)
<a name="WSL"></a>

在 Windows 安裝 WSL 之後，您可以使用 Linux 命令列工具，例如 SSH 用戶端，從 Windows 電腦連線至 Linux 執行個體。

請遵循中的說明進行[在 EC2 Windows 執行個體安裝適用於 Linux 的 Windows 子系統](install-wsl-on-ec2-windows-instance.md) 如果您遵循 Microsoft 安裝指南的指示，他們會安裝 Linux 的 Ubuntu 發行版本。您可以視需要安裝不同的 Linux 發行版本。

在 WSL 終端機視窗中，將 `.pem` 檔案 (針對您在啟動時為執行個體指定的金鑰對) 從 Windows 複製到 WSL。請記下 `.pem` 檔案在 WSL 上的完整路徑，以便於在連接至執行個體時使用。如需有關如何指定 Windows 硬碟路徑的資訊，請參閱[如何存取 C 磁碟機？](https://learn.microsoft.com/en-us/windows/wsl/faq#how-do-i-access-my-c--drive-)。

```
cp /mnt/<Windows drive letter>/path/my-key-pair.pem ~/WSL-path/my-key-pair.pem
```

如需有關解除安裝適用於 Linux 的 Windows 子系統的資訊，請參閱[如何解除安裝 WSL 發行版本？](https://learn.microsoft.com/en-us/windows/wsl/faq#how-do-i-uninstall-a-wsl-distribution-)。

## 使用 SSH 用戶端連接至 Linux 執行個體
<a name="connect-linux-inst-sshClient"></a>

請使用下列程序使用 SSH 用戶端連線至您的 Linux 執行個體。

**使用 SSH 用戶端連線至執行個體**

1. 在電腦開啟終端機視窗。

1. 若要連線至執行個體，請使用 **ssh** 命令。您需要在先決條件收集之執行個體的詳細資訊。例如，您需要私有金鑰 (`.pem` 檔案) 的位置、使用者名稱，以及公有 DNS 名稱或 IPv6 地址。下面是範例命令。
   + (公有 DNS) 若要使用公有 DNS 名稱，請輸入下列命令。

     ```
     ssh -i /path/key-pair-name.pem instance-user-name@instance-public-dns-name
     ```
   + (IPv6) 或者，如果您的執行個體具有 IPv6 地址，請輸入下列命令以使用 IPv6 地址。

     ```
     ssh -i /path/key-pair-name.pem instance-user-name@2001:db8::1234:5678:1.2.3.4
     ```

   以下是回應範例。

   ```
   The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (198-51-100-1)' can't be established.
   ECDSA key fingerprint is l4UB/neBad9tvkgJf1QZWxheQmR59WgrgzEimCG6kZY.
   Are you sure you want to continue connecting (yes/no)?
   ```

1. (選用) 確認安全提醒中的指紋與指紋是否相符。如果這些指紋不符合，可能有人嘗試發動中間人攻擊。如果它們符合，請繼續下一個步驟。如需詳細資訊，請參閱[取得執行個體指紋](connection-prereqs-general.md#connection-prereqs-fingerprint)。

1. 輸入 **yes**。

   您會看到如下的回應：

   ```
   Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (ECDSA) to the list of known hosts.
   ```