11.4 OES 2 Linux 上的 SSH 服務

本節說明下列主題:

11.4.1 綜覽

在 SLES 10 上的 SSH 服務是由 OpenSSH 提供,這是 OpenBSD Project 所開發之 SSH 連接性工具的免費版本。

Linux 管理員通常會使用 SSH 來遠端存取伺服器以進行管理,例如執行外圍程序指令、傳送檔案等等。因為許多 OES 2 Linux 服務可以透過 SSH 工作階段在指令提示符管理,所以瞭解在 OES 2 Linux 中如何控制 SSH 存取權是很重要的。

本節討論下列主題:

何時需要 SSH 存取權?

下列情況需要 SSH 存取權:

  • eDirectory 使用者的 SSH 管理存取權: 對於使用 SSH 連接來管理伺服器的 eDirectory 使用者而言,他們必須擁有做為啟用 LUM 的使用者 (設定存取 Linux 服務的 eDirectory 使用者) 之 SSH 存取權。

    附註:標準的 Linux root 使用者是本地使用者,而不是 eDirecotry 使用者。只要防火牆允許,root 使用者永遠都有 SSH 存取權。

  • 在 NetStorage 中的 NSS 卷冊管理存取權: 當 OES 2 Linux 伺服器有 NSS 卷冊時,eDirectory 包含名稱為 nssvolumes 的物件,此物件提供透過「檔案存取 (NetStorage) iManager」外掛程式的卷冊管理存取權。使用外掛程式來管理 NSS 卷冊、指定託管者權限、救回和清除檔案等等需要伺服器的 SSH 存取權。

    雖然 eDirectory 管理員不需要 SSH 存取權即可將「儲存位置物件」建立到 NSS 卷冊 (假使他們知道 POSIX 檔案系統上卷冊的路徑以及其他的卷冊資訊),不過擁有 SSH 存取權將可使管理 NetStorage 中的 NSS 卷冊容易許多。

  • 根據 SSH 來存取任何 NetStorage「儲存位置物件」: NetStorage 伺服器提供對其他伺服器 (或是在本身) 上的目錄與檔案的 Web 存取權。

    一般而言,NCP 或 Samba (CIFS) 連接是用以連接 NetStorage 伺服器與儲存目標。不過,也可以使用 SSH 連接,而且如果是使用 SSH 連接,則透過該連接存取資料的使用者必須擁有目標伺服器上資料的 SSH 存取權。

eDirectory 使用者的 SSH 存取權如何運作

對於 eDirectory 使用者而言,是由下列項目一起運作來控制 SSH 存取權:

  • 防火牆: 如前面所提及,在 OES 2 Linux 伺服器上的預設防火牆組態並不允許與伺服器的 SSH 連接。這也會限制 root 使用者。因此,對於 SSH 存取權的第一個需求就是將防火牆設定成允許 SSH 服務。

  • Linux 使用者管理 (LUM) 必須允許 SSH 做為服務: 在 OES 2 Linux 中,對 SSH 與其他 Linux 服務的存取權是透過 Linux 使用者管理 (LUM) 來控制,而且每個服務必須明確地包括在每部伺服器的 LUM 組態中。

  • 啟用 LUM: 將 SSH 加入伺服器成為啟用 LUM 的服務之後,至少必須啟用一個群組及其使用者的 LUM 功能。只有啟用 LUM 的 eDirectory 使用者可以擁有 SSH 存取權。

  • 所有的 eDirectory 群組都必須允許存取: SSH 存取權是從使用者所屬之啟用 LUM 的群組所承襲,而且只有在使用者所屬的所有群組允許時才會授予存取權。

  • Samba 連接: 啟用 Samba (CIFS) 檔案服務的使用者,預設會將新增至 OES 建立的 Samba 群組:

    • 啟用 LUM。

    • 未將 SSH 指定為允許的服務。

    因此,因為使用者的群組必須全部允許存取,所以會拒絕 Samba 使用者的 SSH 存取權,除非:

    • 從 Samba 群組移除該使用者。

    • 修改 Samba 群組以允許所有 Samba 使用者的 SSH 存取權。

SSH 安全性考量

請記住 SSH 存取權可讓使用者瀏覽和檢視在 Linux 伺服器上大部分的目錄與檔案。雖然使用者可能無權修改設定或是進行其他變更,不過在授予 SSH 存取權給任何人之前,還是要考慮一些嚴重的安全性與機密性問題。

11.4.2 為啟用 LUM 的 eDirectory 使用者設定 SSH 存取權

如果您需要將 SSH 存取權授予 eDirectory 使用者,請依序完成下列小節中的指示,因為它們適用於您的情況。

允許 SSH 存取權透過防火牆

  1. 在您要授予存取權的 OES 2 Linux 伺服器上,開啟 YaST 控制中心,然後按一下「安全性與使用者」 > 「防火牆」

  2. 在左邊瀏覽框架中,按一下「允許的服務」。

  3. 在「允許的服務」下拉式清單中,選取「SSH」。

  4. 按一下「新增」 > 「下一步」 > 「接受」

    防火牆現在已設定成允許與伺服器的 SSH 連接。

將 SSH 新增為 LUM 中允許的服務

  1. 如果 SSH 已經是伺服器上「Linux 使用者管理」允許的服務,請跳至啟用使用者的 LUM 功能

    如果 SSH 不是伺服器上「Linux 使用者管理」允許的服務,請完成下列步驟。

  2. 在 OES 2 Linux 伺服器上,開啟 YaST 控制中心;在「Open Enterprise Server」群組中,按一下「OES 安裝與組態」。

  3. 按一下「接受」。

  4. 當載入「Novell Open Enterprise Server 組態」畫面時,按一下在「Linux 使用者管理」之下的「關閉」連結。

    選項會變更成「開啟」,而且會出現組態設定。

  5. 按一下「Linux 使用者管理」。

  6. 在適當的欄位中輸入 eDirectory Admin 密碼,然後按一下「確定」 > 「下一步」

  7. 在允許的服務清單中,按一下「sshd」。

  8. 依序按一下「下一步」 > 「下一步」 > 「完成」

    在 eDirectory 中每個啟用 LUM 的群組 (系統建立的 Samba 群組除外) 現在會將 SSH 顯示成允許的服務。Samba 群組會將服務顯示為不允許 (或是說得明白一點就是沒有核取「sshd」)。

啟用使用者的 LUM 功能

有許多方法可以啟用使用者的 LUM 功能。

例如,在 iManager >「Linux 使用者管理」中,有啟用使用者 (以及在程序中選擇「群組」) 或是啟用群組 (以及在程序中啟用使用者) 的選項。啟用 Linux 是 Samba 存取權必要程序的一部分。而且最後,也會有指令行選項。

如需特定的指示,請參閱《 OES 2:Novell Linux 使用者管理技術指南》中的 管理 eDirectory 中的使用者與群組物件

在您設定伺服器的防火牆以允許 SSH、將 SSH 新增為允許的服務以及啟用您要擁有 SSH 存取權之 eDirectory 使用者的 LUM 功能之後,只要在伺服器上沒有同時啟用這些相同使用者的 Samba 功能時,他們就會擁有伺服器的 SSH 存取權。

另一方面,如果您在伺服器上安裝了 Samba,或是如果您在未來安裝 Samba,則會將設定 Samba 存取權的使用者停用其 SSH 存取權。

若要還原 Samba 影響的使用者存取權,請參閱提供 SSH 存取權給 Samba 使用者

當然,許多網路管理員會將 SSH 存取權限制為具有管理責任的使用者。他們不希望每個啟用 LUM 的使用者都擁有伺服器的 SSH 存取權。

如果您需要將 SSH 存取權限制成只有某些啟用 LUM 的使用者,請繼續將 SSH 存取權限制成只有某些啟用 LUM 的使用者

將 SSH 存取權限制成只有某些啟用 LUM 的使用者

您可以輕易地限制一或多個使用者的 SSH 存取權,方法是將它們設成啟用 LUM 的群組成員,然後為停用群組 SSH 存取權。接著就會覆蓋所有指定啟用 SSH 存取權的其他群組。

  1. 使用其存取 URL 在瀏覽器中開啟 iManager:

    http:// IP_Address/iManager.html

    其中 IP_Address 是安裝了 iManager 2.7 之 OES 2 伺服器的 IP 位址。

  2. 在「角色及任務」清單中,按一下「群組」 > 「建立群組」

  3. 輸入群組名稱,例如 NoSSHGroup,然後選取一個網路位置,例如您的其他群組與使用者物件所在的容器。按一下「確定」。

  4. 在「角色及任務」清單中,按一下「目錄管理」 > 「修改物件」

  5. 瀏覽至您剛建立的群組,然後按一下「確定」。

  6. 按一下「Linux 設定檔」索引標籤。

  7. 選取「啟用 Linux 設定檔」選項。

  8. 在「新增 UNIX 工作站」對話方塊中,為您要限制 SSH 存取權的伺服器,瀏覽至「UNIX 工作站」物件並選取該物件,然後按一下「確定」 > 「確定」

  9. 按一下「套用」 > 「確定」

  10. 在「角色及任務」清單中,按一下「修改物件」,再次瀏覽到群組,然後按一下「確定」。

  11. 按一下「其他」子索引標籤。

  12. 在「無值的屬性」清單中,選取「uamPosixPAMServiceExcludeList」,然後按一下左箭頭將屬性移到「有值的屬性」清單中。

  13. 在「新增屬性」對話方塊中,按一下空的下拉式清單旁的加號 (+)。

  14. 在「新增項目」欄位中,輸入 sshd,然後按一下「確定」 > 「確定」

  15. 按一下「成員」索引標籤。

  16. 瀏覽至不希望有 SSH 存取權的「使用者」物件並選取該物件,然後按一下「確定」。

  17. 按一下「套用」 > 「確定」

提供 SSH 存取權給 Samba 使用者

提供 SSH 存取權給曾經啟用 Samba 存取權的使用者有兩個選項:

  • 您可以從 server_name-W-SambaUserGroup 移除使用者。

    重要:這是假設使用者與另外提供伺服器存取權之啟用 LUM 群組不同群組的成員。如果只啟用使用者的 LUM 功能是 Samba 組態的一部分,則從 Samba 群組移除使用者將會中斷 Samba 的存取權,而且使用者也將不會有 SSH 存取權。

  • 您可以使用將 SSH 存取權限制成只有某些啟用 LUM 的使用者中的指示做為一般指南並從步驟 10開始,以便從「有值的屬性」清單來移除 uamPosicPAMServiceExcludeList 屬性,從而變更整個 Samba 群組的存取權。

    附註:雖然使用「修改群組」iManager 外掛程式來停用 SSH 存取權的選項會簡單許多並且更直接,但是截至本文發佈為止,該選項仍無法使用。雖然外掛程式看起來是不選 sshd 做為允許的服務,不過當重新載入群組資訊時,仍然會選取該服務。Novell 計劃在不久的將來處理這個問題。