使用 SSH 連線至 Kerberized 叢集 - Amazon EMR

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

使用 SSH 連線至 Kerberized 叢集

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

用於SSH連線的每個電腦都必須安裝SSH用戶端和 Kerberos 用戶端應用程式。Linux 電腦很可能預設已包含這些項目。例如,OpenSSH 安裝在大多數 Linux、Unix 和 macOS 作業系統上。您可以在命令列ssh中輸入 來檢查SSH用戶端。如果您的電腦無法識別 命令,請安裝SSH用戶端以連線至主要節點。OpenSSH 專案提供免費實作完整的SSH工具套件。如需詳細資訊,請參閱開啟SSH網站。Windows 使用者可以使用 PuTTY 等應用程式作為SSH用戶端。

如需SSH連線的詳細資訊,請參閱 連接至叢集

SSH 使用 GSSAPI 來驗證 Kerberos 用戶端,而且您必須在叢集主要節點上啟用 SSH服務的GSSAPI身分驗證。如需詳細資訊,請參閱GSSAPI 為 啟用 SSH。SSH 用戶端也必須使用 GSSAPI。

在下列範例中,針對 MasterPublicDNS 使用叢集詳細資訊窗格摘要索引標籤上針對主要公開DNS顯示的值,例如:ec2-11-222-33-44.compute-1.amazonaws.com.

krb5.conf 的先決條件 (非 Active Directory)

在沒有 Active Directory 整合的情況下使用組態時,除了SSH用戶端和 Kerberos 用戶端應用程式之外,每個用戶端電腦還必須擁有與叢集主要節點上的/etc/krb5.conf檔案相符/etc/krb5.conf的檔案副本。

複製 krb5.conf 檔案
  1. 使用 SSH 來使用EC2金鑰對和預設hadoop使用者連線至主要節點,例如 hadoop@MasterPublicDNS。如需詳細說明,請參閱 連接至叢集

  2. 從主節點,複製 /etc/krb5.conf 檔案的內容。如需詳細資訊,請參閱連接至叢集

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

使用kinit 和 SSH

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

使用 SSH 連線至 Kerberized EMR叢集
  1. 使用 kinit 續約您的 Kerberos 票證,如下列範例所示

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

    範例:Linux 使用者

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

    ssh -K user1@MasterPublicDNS

    範例:Windows 使用者 (Pu TTY)

    請確定工作階段的GSSAPI身分驗證選項已啟用,如下所示:

    PuTTY Configuration window showing GSSAPI authentication options and library preferences.