

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

# 在 WorkSpaces Personal 中啟用 Linux WorkSpaces 的 SSH 連線
<a name="connect-to-linux-workspaces-with-ssh"></a>

如果您或您的使用者想要使用命令列連線到 Linux WorkSpaces，您可以啟用 SSH 連線。您可以啟用對目錄中所有 WorkSpaces 或目錄中個別 WorkSpaces 的 SSH 連線。

若要啟用 SSH 連線，您可以建立新的安全群組或更新現有安全群組，並為此目的新增規則來允許輸入流量。安全群組就像是防火牆，用於關聯的執行個體，可在執行個體層級控制傳入及傳出流量。在您建立或更新安全群組之後，您的使用者和其他人可以使用 PuTTY 或其他終端機，從其裝置連線至您的 Linux WorkSpaces。如需詳細資訊，請參閱[WorkSpaces Personal 的安全群組](amazon-workspaces-security-groups.md)。

如需影片教學課程，請參閱 AWS 知識中心的[如何使用 SSH 連線到我的 Linux Amazon WorkSpaces？](https://aws.amazon.com/premiumsupport/knowledge-center/linux-workspace-ssh/)。本教學課程僅適用於 Amazon Linux 2 WorkSpaces。

**Topics**
+ [SSH 連線至 Linux WorkSpaces 的先決條件](#before-you-begin-enable-ssh-linux-workspaces)
+ [啟用對目錄中所有 Linux WorkSpaces 的 SSH 連線](#enable-ssh-directory-level-access-linux-workspaces)
+ [WorkSpaces 中的密碼型身分驗證](#enable-ssh-access-old-version)
+ [啟用特定 Linux WorkSpace 的 SSH 連線](#enable-ssh-access-specific-linux-workspace)
+ [使用 Linux 或 PuTTY 連線至 Linux WorkSpace](#ssh-connection-linux-workspace-using-linux-or-putty)

## SSH 連線至 Linux WorkSpaces 的先決條件
<a name="before-you-begin-enable-ssh-linux-workspaces"></a>
+ 啟用傳入 SSH 流量至 WorkSpace — 若要新增規則以允許傳入 SSH 流量至一或多個 Linux WorkSpaces，請確定您擁有需要 SSH 連線至 WorkSpaces 之裝置的公有或私有 IP 地址。例如，您可以指定虛擬私有雲端 (VPC) 外部裝置的公用 IP 地址，或指定與 WorkSpace 相同 VPC 中另一個 EC2 執行個體的私有 IP 地址。

  如果您打算從本機裝置連線至 WorkSpace，您可以在網際網路瀏覽器中使用「我的 IP 地址為何」搜尋字詞，或使用下列服務：[檢查 IP](https://checkip.amazonaws.com/)。
+ 連線至 WorkSpace — 啟動從裝置到 Linux WorkSpace 的 SSH 連線時需要以下資訊。
  + 您所連線到的 Active Directory 網域的 NetBIOS 名稱。
  + 您的 WorkSpace 使用者名稱。
  + 您想要連線到的 WorkSpace 的公用或私有 IP 地址。

    私有：如果您的 VPC 連結到公司網路，而且您可以存取該網路，則可以指定 WorkSpace 的私有 IP 地址。

    公用：如果您的 WorkSpace 具有公用 IP 地址，您可以使用 WorkSpaces 主控台來尋找公用 IP 地址，如下列程序所述。

**尋找您要連線之 Linux WorkSpace 的 IP 地址和使用者名稱**

1. 在 https：//[https://console.aws.amazon.com/workspaces/v2/home](https://console.aws.amazon.com/workspaces/v2/home) 開啟 WorkSpaces 主控台。

1. 在導覽窗格中，選擇 **WorkSpaces**。

1. 在 WorkSpaces 清單中，選擇您要啟用 SSH 連線的 WorkSpace。

1. 在**執行中模式**欄中，確認 WorkSpace 狀態為**可用**。

1. 按一下 WorkSpace 名稱左側的箭頭以顯示內嵌摘要，並記下以下資訊：
   + **WorkSpace IP**。這是 WorkSpace 的私有 IP 地址。

     取得與 WorkSpace 相關聯的彈性網路介面時需要私有 IP 地址。需要網路介面才能擷取資訊，例如與 WorkSpace 相關聯的安全群組或公用 IP 地址。
   + WorkSpace **使用者名稱**。這是您指定用來連線至 WorkSpace 的使用者名稱。

1. 開啟 Amazon EC2 主控台，網址為 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

1. 在導覽窗格中，選擇 **Network Interfaces** (網路介面)。

1. 在搜尋方塊中，輸入您在步驟 5 中記下的 **WorkSpace IP**。

1. 選取與 **WorkSpace IP** 相關聯的網路介面。

1. 如果您的 WorkSpace 具有公用 IP 地址，其會顯示在 **IPv4 公用 IP** 欄中。請記下此位址 (若適用)。

**若要尋找您所連線到的 Active Directory 網域的 NetBIOS 名稱**

1. 在 https：//[https://console.aws.amazon.com/directoryservicev2/](https://console.aws.amazon.com/directoryservicev2/) 開啟 Directory Service 主控台。

1. 在目錄清單中，按一下 WorkSpace 目錄的**目錄 ID** 連結。

1. 在**目錄詳細資料**區段中，記下**目錄 NetBIOS 名稱**。

## 啟用對目錄中所有 Linux WorkSpaces 的 SSH 連線
<a name="enable-ssh-directory-level-access-linux-workspaces"></a>

若要啟用與目錄中所有 Linux WorkSpaces 的 SSH 連線，請執行下列動作。

**使用規則建立安全群組，以允許傳入 SSH 流量傳送至目錄中的所有 Linux WorkSpaces**

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

1. 在導覽窗格中，選擇 **Security Groups** (安全群組)。

1. 選擇 **Create Security Group** (建立安全群組)。

1. 為您的安全群組輸入名稱和 (選擇) 描述。

1. 針對 **VPC**，選擇包含您要啟用 SSH 連線之 WorkSpaces 的 VPC。

1. 在**傳入**索引標籤上，選擇**新增規則**，然後執行下列操作：
   + 針對 **Type** (類型)，選擇 **SSH**。
   + 針對**通訊協定**，當您選擇 **SSH** 時會自動指定 TCP。
   + 針對**連接埠範圍**，當您選擇 **SSH** 時會自動指定 22。
   + 針對**來源**，指定使用者將用來連線至其 WorkSpaces 之電腦的公用 IP 地址的 CIDR 範圍。例如，企業網路或家用網路。
   + (選用) 針對**描述**，輸入規則的描述。

1. 選擇**建立**。

1. 將此安全群組連接至 WorkSpaces。如需將此安全群組新增至 WorkSpaces 的詳細資訊，請參閱 [WorkSpaces Personal 的安全群組](amazon-workspaces-security-groups.md)。如果您想要自動將其他安全群組連接到 WorkSpaces，請參閱此[部落格文章](https://aws.amazon.com/blogs/desktop-and-application-streaming/automatically-attach-additional-security-groups-to-amazon-appstream-2-0-and-amazon-workspaces/)。

## WorkSpaces 中的密碼型身分驗證
<a name="enable-ssh-access-old-version"></a>

**在新建立的 Linux WorkSpaces 中啟用密碼身分驗證**

1. 啟動 WorkSpaces 用戶端並登入您的 WorkSpace。

1. 開啟終端機視窗。

1. 在終端機視窗中，執行下列命令以在 cloud-init 中啟用 SSH 密碼驗證。

   ```
   sudo bash -c 'touch /etc/cloud/cloud.cfg.d/15_sshpwauth.cfg && echo "ssh_pwauth: true" > /etc/cloud/cloud.cfg.d/15_sshpwauth.cfg && sudo rm /var/lib/cloud/instance/sem/config_set_passwords && sudo cloud-init single --name set-passwords'
   ```

   此指令碼將執行下列動作：
   + 在 cloud-init 目錄中建立組態檔案`/etc/cloud/cloud.cfg.d/`。
   + 修改組態檔案，告知 cloud-init 啟用 SSH 密碼身分驗證。
   + 重設 `set-passwords` cloud-init 模組，以便再次執行。
   + 自行執行 `set-passwords` cloud-init 模組。這會將啟用 SSH 密碼身分驗證的檔案寫入 SSH 組態目錄 `/etc/ssh/sshd_config.d/`，然後重新啟動 SSHD，以便立即進行設定。

 這會在 WorkSpace 上啟用 SSH 密碼身分驗證，並透過自訂映像保留。如果您僅在 SSHD 組態檔案中啟用 SSH 密碼身分驗證，但未設定 cloud-init，則設定不會在某些 Linux WorkSpaces 上透過映像保留。如需詳細資訊，請參閱 cloud-init 模組文件中[的設定密碼]()。

**在現有的 Linux WorkSpaces 中停用密碼身分驗證**

1. 啟動 WorkSpaces 用戶端並登入您的 WorkSpace。

1. 開啟終端機視窗。

1. 在終端機視窗中，執行下列命令來停用 cloud-init 中的 SSH 密碼驗證。

   ```
   sudo bash -c 'touch /etc/cloud/cloud.cfg.d/15_sshpwauth.cfg && echo "ssh_pwauth: false" > /etc/cloud/cloud.cfg.d/15_sshpwauth.cfg && sudo rm /var/lib/cloud/instance/sem/config_set_passwords && sudo cloud-init single —name set-passwords'
   ```

   此指令碼將執行下列動作：
   + 在 cloud-init 目錄中建立組態檔案`/etc/cloud/cloud.cfg.d/`。
   + 修改組態檔案，指示 cloud-init 停用 SSH 密碼身分驗證。
   + 重設 `set-passwords` cloud-init 模組，以便再次執行。
   + 自行執行 `set-passwords` cloud-init 模組。這會將啟用 SSH 密碼身分驗證的檔案寫入 SSH 組態目錄 `/etc/ssh/sshd_config.d/`，然後重新啟動 SSHD，以便立即進行設定。

這會立即停用 WorkSpace 中的 SSH，並透過自訂映像保留。

## 啟用特定 Linux WorkSpace 的 SSH 連線
<a name="enable-ssh-access-specific-linux-workspace"></a>

若要啟用特定 Linux WorkSpace 的 SSH 連線，請執行下列動作。

**將規則新增至現有的安全群組，以允許傳入 SSH 流量至特定 Linux WorkSpace**

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

1. 在導覽窗格的 **Network & Security (網路與安全)** 中，選擇 **Network Interfaces (網路界面)**。

1. 在搜尋列中，輸入您要啟用 SSH 連線之 WorkSpace 的私有 IP 地址。

1. 在**安全群組**欄中，按一下安全群組的連結。

1. 在 **Inbound (傳入)** 標籤上，選擇 **Edit (編輯)**。

1. 選擇**新增規則**，然後執行下列操作：
   + 針對 **Type** (類型)，選擇 **SSH**。
   + 針對**通訊協定**，當您選擇 **SSH** 時會自動指定 TCP。
   + 針對**連接埠範圍**，當您選擇 **SSH** 時會自動指定 22。
   + 針對**來源**，選擇**我的 IP** 或**自訂**，然後以 CIDR 標記法指定單一 IP 地址或 IP 地址範圍。例如，若您的 IPv4 地址為 `203.0.113.25`，請指定 `203.0.113.25/32`，藉此以 CIDR 表示法列出此單一 IPv4 地址。如果您的公司會分配某個範圍的地址，請指定整個範圍 (例如 `203.0.113.0/24`)。
   + (選用) 針對**描述**，輸入規則的描述。

1. 選擇**儲存**。

## 使用 Linux 或 PuTTY 連線至 Linux WorkSpace
<a name="ssh-connection-linux-workspace-using-linux-or-putty"></a>

在您建立或更新安全群組並新增必要規則之後，您的使用者和其他使用者即可使用 Linux 或 PuTTY 從他們的裝置連線到 WorkSpaces。

**注意**  
完成下列任一程序之前，請確定您有下列各項：  
您所連線到的 Active Directory 網域的 NetBIOS 名稱。
您用來連線至 WorkSpace 的使用者名稱。
您想要連線到的 WorkSpace 的公用或私有 IP 地址。
如需如何取得此資訊的說明，請參閱本主題稍早的「SSH 連線至 Linux WorkSpaces 的先決條件」。

**使用 Linux 連線至 Linux WorkSpace**

1. 以管理員身分開啟命令提示並輸入下列命令。針對 {{NetBIOS 名稱}}、{{使用者名稱}}和 {{WorkSpace IP}}，輸入適用的值。

   ```
   ssh "{{NetBIOS_NAME}}\{{Username}}"@{{WorkSpaceIP}}
   ```

   以下是 SSH 命令的範例，其中：
   + {{NetBIOS\_NAME}} 是任何公司
   + {{Username}} 是 janedoe
   + {{WorkSpace IP}} 是 203.0.113.25

   ```
   ssh "anycompany\janedoe"@203.0.113.25
   ```

1. 出現提示時，請輸入在向 WorkSpaces 用戶端驗證時所使用的相同密碼 (您的 Active Directory 密碼)。

**使用 PuTTY 連線至 Linux WorkSpace**

1. 開啟 PuTTY。

1. 在 **PuTTY 組態**對話方塊中，執行下列操作：
   + 針對**主機名稱 (或 IP 地址)**，輸入下列命令。將這些值取代為您連線到的 Active Directory 網域的 NetBIOS 名稱、您用來連線至 WorkSpace 的使用者名稱，以及您要連線到的 WorkSpace 的 IP 地址。

     ```
     {{NetBIOS_NAME}}\{{Username}}@{{WorkSpaceIP}}
     ```
   + 針對**連接埠**，輸入 **22**。
   + 針對**連線類型**，選擇 **SSH**。

   如需 SSH 命令的範例，請參閱先前程序中的步驟 1。

1.  選擇 **Open** (開啟)。

1. 出現提示時，請輸入在向 WorkSpaces 用戶端驗證時所使用的相同密碼 (您的 Active Directory 密碼)。