

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 为 iSCSI 目标配置 CHAP 身份验证
<a name="ConfiguringiSCSIClientInitiatorCHAP"></a>

Storage Gateway 支持使用质询握手身份验证协议 (CHAP) 在网关和 iSCSI 启动程序之间进行身份验证。CHAP 通过定期验证 iSCSI 启动程序的身份是否具有访问卷目标和 VTL 设备目标的权限来预防反演攻击。

**注意**  
CHAP 配置是可选的，但强烈推荐进行此配置。

要设置 CHAP，必须在 Storage Gateway 控制台和用于连接目标的 iSCSI 启动程序软件中对其进行配置。Storage Gateway 使用双方 CHAP，即启动程序对目标进行身份验证，目标对启动程序进行身份验证。

**为目标设置双向 CHAP**

1. 在 Storage Gateway 控制台上配置 CHAP，如 [为 Storage Gateway 控制台上的卷目标配置 CHAP](#ConfiguringiSCSIClientInitiatorCHAPConsole) 中所述。

1. 在客户端启动程序软件中，完成 CHAP 配置：
   + 要在 Windows 客户端上配置双向 CHAP，请参阅 [在 Windows 客户端上配置双向 CHAP。](#ConfiguringiSCSIClientInitiatorCHAPWindows)。
   + 要在 Red Hat Linux 客户端上配置双向 CHAP，请参阅 [如需在 Red Hat Linux 客户端上配置双向 CHAP](#ConfiguringiSCSIClientInitiatorCHAPLinux)。<a name="ConfiguringiSCSIClientInitiatorCHAPConsole"></a>

**为 Storage Gateway 控制台上的卷目标配置 CHAP**

在本步骤中，您指定两个用来对卷进行读取和写入操作的私有密钥。这两个密钥也用来在本步骤中配置客户端启动程序。

1. 在 Storage Gateway 控制台的“导航”窗格中，选择**卷**。

1. 对于 **Actions (操作)**，选择 **Configure CHAP Authentication (配置 CHAP 身份验证)**。

1. 在**配置 CHAP 身份验证**对话框中提供要求的信息。

   1. 对于**启动程序名称**，请输入 iSCSI 启动程序的名称。此名称是 Amazon iSCSI 限定名称 (IQN)，前面加上 `iqn.1997-05.com.amazon:`，后跟目标名称。示例如下：

      `iqn.1997-05.com.amazon:your-volume-name`

      您可以使用 iSCSI 启动程序软件找到启动程序名称。例如，对于 Windows 客户端，该名称为 iSCSI 启动程序的 **Configuration (配置)** 选项卡上的值。有关更多信息，请参阅 [在 Windows 客户端上配置双向 CHAP。](#ConfiguringiSCSIClientInitiatorCHAPWindows)。
**注意**  
如需更改启动程序名称，您必须先停用 CHAP，在 iSCSI 启动程序软件中更改启动程序名称，然后使用新名称激活 CHAP。

   1. 对于**用于对启动程序进行身份验证的密钥**，输入要求的密钥。

      此私有密钥的长度最少为 12 个字符，最多为 16 个字符。此值是私有密钥，启动程序 (即 Windows 客户端) 必须知道该私有密钥才能参与到与目标的 CHAP 中。

   1. 对于**用于对目标进行身份验证的密钥（双向 CHAP）**，输入要求的密钥。

      此私有密钥的长度最少为 12 个字符，最多为 16 个字符。目标必须知道此值才能参与到与启动程序的 CHAP 中。
**注意**  
用来验证目标身份的私有密钥必须不同于用来验证启动程序的私有密钥。

   1. 选择**保存**。

1. 选择 **Details** 选项卡并确认 **iSCSI CHAP authentication** 设置为 **true**。<a name="ConfiguringiSCSIClientInitiatorCHAPWindows"></a>

**在 Windows 客户端上配置双向 CHAP。**

在此过程中，您使用在控制台中为卷配置 CHAP 所用的同一密钥在 Microsoft iSCSI 启动程序中配置 CHAP。

1. 如果 iSCSI 启动程序尚未启动，请在 Windows 客户端计算机的**开始**菜单上，选择**运行**，输入 **iscsicpl.exe**，然后选择**确定**来运行该程序。

1. 为启动程序 (即 Windows 客户端) 配置双向 CHAP 配置：

   1. 选择**配置**选项卡。

       
**注意**  
**Initiator Name** 值对于您的启动程序和公司是唯一的。前面显示的名称是您在 Storage Gateway 控制台的**配置 CHAP 身份验证**对话框中使用的值。  
示例图像中所示名称仅作示范用途。

   1. 选择 **CHAP**。

   1. 在 **iSCSI 启动程序双向 CHAP 密钥**对话框中，输入双向 CHAP 密钥值。

      在此对话框中，输入启动程序 (Windows 客户端) 用来对目标 (存储卷) 进行身份验证的私有密钥。该私有密钥允许目标读取并写入启动程序。此密钥与在**配置 CHAP 身份验证**对话框的**用于对目标进行身份验证的密钥（双向 CHAP）**框中输入的密钥相同。有关更多信息，请参阅 [为 iSCSI 目标配置 CHAP 身份验证](#ConfiguringiSCSIClientInitiatorCHAP)。

   1. 如果您输入的密钥少于 12 个字符或多于 16 个字符，则会显示**启动程序 CHAP 密钥**错误对话框。

      选择**确定**，然后重新输入密钥。

1. 使用启动程序的密钥进行配置，完成双向 CHAP 配置。

   1. 选择**目标**选项卡。

   1. 如果当前连接了要为 CHAP 配置的目标，则通过选择该目标并选择 **Disconnect** 来断开该目标。

   1. 选择要为 CHAP 配置的目标，然后选择 **Connect**。

   1. 在 **Connect to Target** 对话框中，选择 **Advanced**。

   1. 在“**Advanced Settings**”对话框中，配置 CHAP。

       

      1. 选择**激活 CHAP 登录**。

      1. 输入验证启动程序所需的密钥。此密钥与在**配置 CHAP 身份验证**对话框的**用于对启动程序进行身份验证的密钥**框中输入的密钥相同。有关更多信息，请参阅 [为 iSCSI 目标配置 CHAP 身份验证](#ConfiguringiSCSIClientInitiatorCHAP)。

      1. 选择“**Perform mutual authentication**”。

      1. 要应用更改，请选择 **OK**。

   1. 在 **Connect to Target** 对话框中，选择 **OK**。

1. 如果提供的私有密钥正确无误，则目标将显示 **Connected (已连接)** 状态。<a name="ConfiguringiSCSIClientInitiatorCHAPLinux"></a>

**如需在 Red Hat Linux 客户端上配置双向 CHAP**

在此过程中，您使用在 Storage Gateway 控制台中为卷配置 CHAP 所用的同一密钥在 Linux iSCSI 启动程序中配置 CHAP。

1. 确保 iSCSI 守护进程正在运行并且您已连接到目标。如果您尚未完成这两项任务，请参阅[连接到 Red Hat Enterprise Linux 客户端](https://docs.amazonaws.cn/storagegateway/latest/vgw/GettingStarted-use-volumes.html#issci-rhel)。

1. 断开并移除您即将为其配置 CHAP 的目标的任何现有配置。

   1. 要查找目标名称并确保其为定义的配置，请使用以下命令列出保存的配置。

      ```
      sudo /sbin/iscsiadm --mode node
      ```

   1. 从目标断开。

      以下命令从 Amazon iSCSI 限定名称 (IQN) 中定义的名为 **myvolume** 的目标断开连接。按您的需求情况更改目标名称和 IQN。

      ```
      sudo /sbin/iscsiadm --mode node --logout GATEWAY_IP:3260,1 iqn.1997-05.com.amazon:myvolume
      ```

   1. 移除目标的配置。

      下面的命令移除 **myvolume** 目标的配置。

      ```
      sudo /sbin/iscsiadm --mode node --op delete --targetname iqn.1997-05.com.amazon:myvolume
      ```

1. 编辑 iSCSI 配置文件来激活 CHAP。

   1. 获取启动程序 (即您正在使用的客户端) 的名称。

      以下命令从文件 `/etc/iscsi/initiatorname.iscsi` 获取发起程序名称。

      ```
      sudo cat /etc/iscsi/initiatorname.iscsi
      ```

      该命令的输出内容类似于以下内容：

      `InitiatorName=iqn.1994-05.com.redhat:8e89b27b5b8`

   1. 打开 `/etc/iscsi/iscsid.conf` 文件。

   1. 取消文件中以下各行的注释，并为*username*、*password**username\$1in*、和*password\$1in*指定正确的值。

      ```
      node.session.auth.authmethod = CHAP
      node.session.auth.username = username
      node.session.auth.password = password
      node.session.auth.username_in = username_in
      node.session.auth.password_in = password_in
      ```

      有关要指定的值的指南，请参阅下表。    
[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/storagegateway/latest/vgw/ConfiguringiSCSIClientInitiatorCHAP.html)

   1. 保存配置文件中的更改，然后关闭该文件。

1. 发现并登录到目标。为此，请按照[连接到 Red Hat Enterprise Linux 客户端](https://docs.amazonaws.cn/storagegateway/latest/vgw/GettingStarted-use-volumes.html#issci-rhel)中的步骤进行操作。