

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

# 使用 SSH 透過 Amazon EMR 連線至 Kerberized 叢集
<a name="emr-kerberos-connect-ssh"></a>

本章節示範 Kerberos 驗證使用者連接到 EMR 叢集主節點的步驟。

用於 SSH 連線的每部電腦必須安裝 SSH 用戶端和 Kerberos 用戶端應用程式。Linux 電腦很可能預設已包含這些項目。例如，大多數的 Linux、Unix 和 macOS 作業系統都會安裝 OpenSSH。您可以藉由在命令列鍵入 **ssh** 來檢查 SSH 用戶端。如果您的電腦無法識別該命令，請安裝 SSH 用戶端以連接至主節點。OpenSSH 專案提供 SSH 工具完整套件的免費實作。如需詳細資訊，請參閱 [OpenSSH](http://www.openssh.org/) 網站。Windows 使用者可以使用應用程式 (例如 [PuTTY](http://www.chiark.greenend.org.uk/~sgtatham/putty/)) 做為 SSH 用戶端。

如需 SSH 連線的詳細資訊，請參閱「[連線至 Amazon EMR 叢集](emr-connect-master-node.md)」。

SSH 使用 GSSAPI 來驗證 Kerberos 用戶端，而您必須在叢集主節點上為 SSH 服務啟用 GSSAPI 身分驗證。如需詳細資訊，請參閱[為 SSH 啟用 GSSAPI](emr-kerberos-configuration-users.md#emr-kerberos-ssh-config)。SSH 用戶端也必須使用 GSSAPI。

在下列範例中，針對 *MasterPublicDNS*，使用**主要公有 DNS** 顯示的值 (位於叢集詳細資訊窗格的**摘要**標籤中)，例如 *ec2-11-222-33-44.compute-1.amazonaws.com*。

## krb5.conf 的先決條件 (非 Active Directory)
<a name="emr-kerberos-conffile"></a>

使用未與 Active Directory 整合的組態時，除了 SSH 用戶端和 Kerberos 用戶端應用程式，每個用戶端電腦還必須擁有符合叢集主節點上 `/etc/krb5.conf` 檔案的 `/etc/krb5.conf` 檔案副本。

**複製 krb5.conf 檔案**

1. 使用 EC2 金鑰對和預設 `hadoop` 使用者，以 SSH 連接到主節點 – 例如 `hadoop@MasterPublicDNS`。如需詳細說明，請參閱 [連線至 Amazon EMR 叢集](emr-connect-master-node.md)。

1. 從主節點，複製 `/etc/krb5.conf` 檔案的內容。如需詳細資訊，請參閱[連線至 Amazon EMR 叢集](emr-connect-master-node.md)。

1. 在每個將連接到叢集的用戶端電腦上，根據您在上一個步驟所製作的副本，建立相同的 `/etc/krb5.conf` 檔案。

## 使用 Kinit 和 SSH
<a name="emr-kerberos-kinit-ssh"></a>

每次使用者從用戶端電腦使用 Kerberos 登入資料進行連線時，使用者必須先在用戶端電腦上為其使用者續約 Kerberos 票證。此外，SSH 用戶端也必須設定為使用 GSSAPI 身分驗證。

**使用 SSH 連接到 Kerberos 化 EMR 叢集**

1. 使用 `kinit` 續約您的 Kerberos 票證，如下列範例所示

   ```
   kinit user1
   ```

1. 使用 `ssh` 用戶端以及您在叢集專用 KDC 中建立的主體或 Active Directory 使用者名稱。請確定已啟用 GSSAPI 身分驗證，如以下範例所示。

   **範例：Linux 使用者**

   `-K `選項指定 GSSAPI 身分驗證。

   ```
   ssh -K user1@MasterPublicDNS
   ```

   **範例：Windows 使用者 (PuTTY)**

   請確定已啟用工作階段的 GSSAPI 身分驗證選項，如下所示：  
![\[PuTTY Configuration window showing GSSAPI authentication options and library preferences.\]](http://docs.aws.amazon.com/zh_tw/emr/latest/ManagementGuide/images/kerb-gssapi-putty.png)