本节包含以下主题:
OpenSSH 提供 SLES 10 上的 SSH 服务,它是由 OpenBSD 项目组开发的免费版本的 SSH 连接性工具。
Linux 管理员经常使用 SSH 远程访问服务器进行管理,如执行壳层命令和传输文件等。因为在命令提示符下通过 SSH 会话可以管理多种 OES 2 Linux 服务,所以了解如何在 OES 2 Linux 中控制 SSH 访问权限很重要。
本节讨论以下主题:
以下情况需要 SSH 访问权限:
eDirectory 用户的 SSH 管理访问权限: eDirectory 用户要使用 SSH 连接管理服务器,必须具有启用 LUM 的用户(为访问 Linux 服务配置的 eDirectory 用户)的 SSH 访问权限。
注:标准的 Linux 根用户是本地用户,而不是 eDirectory 用户。只要防火墙允许,根用户就始终具有 SSH 访问权限。
NetStorage 中 NSS 卷的管理访问权限: 当 OES 2 Linux 服务器具有 NSS 卷时,eDirectory 包含名为 的对象,该对象通过文件访问 (NetStorage) iManager 插件提供对卷的管理访问权限。使用该插件管理 NSS 卷、指派受托者权限以及挽回和清除文件等需要针对服务器的 SSH 访问权限。
虽然 eDirectory 管理员无需 SSH 访问权限就可以创建指向 NSS 卷的储存位置对象,但如果他们知道指向 POSIX 文件系统上卷的路径,具有 SSH 访问权限就会更容易管理 NetStorage 中的 NSS 卷。
基于 SSH 的任意 NetStorage 储存位置对象的访问权限: NetStorage 服务器提供对其它服务器(或其自身)中目录和文件的万维网访问权限。
通常,NCP 或 Samba (CIFS) 连接用于连接 NetStorage 服务器和储存目标。但是,也可以使用 SSH 连接。如果这样,则用户通过该连接访问数据时必须具有对目标服务器中数据的 SSH 访问权限。
eDirectory 用户可使用以下所有方式来控制 SSH 访问权限:
防火墙: 如上所述,OES 2 Linux 服务器上的默认防火墙配置不允许 SSH 与服务器连接。这也会限制根用户。因此,对于 SSH 访问权限的第一个要求是配置防火墙以允许 SSH 服务。
Linux 用户管理 (LUM) 必须允许 SSH 作为一项服务: 在 OES 2 Linux 中,通过 Linux 用户管理 (LUM) 控制对 SSH 和其它 Linux 服务的访问,且每项服务必须显式包括在每台服务器的 LUM 配置中。
启用 LUM: 在服务器上将 SSH 作为启用 LUM 的服务后,必须为 LUM 启用至少一个组及其用户。只有启用 LUM 的 eDirectory 用户才具有 SSH 访问权限。
所有的 eDirectory 组必须允许访问 SSH: SSH 访问权限继承自用户所属的启用 LUM 的组,仅当用户所属的所有组都允许访问 SSH 时才授予该访问权限。
Samba 连接: 默认情况下将启用 Samba (CIFS) 文件服务的用户添加到 OES 创建的 Samba 组中,该组:
为启用 LUM 的组。
未将 SSH 指定为允许的服务。
这样,由于用户所属的全部组都必须允许访问 SSH,而 Samba 用户不具有 SSH 访问权限,因此需要
从 Samba 组中去除该用户。
或
修改 Samba 组以启用所有 Samba 用户的 SSH 访问权限。
请记住,SSH 访问权限允许用户浏览和查看 Linux 服务器上的大多数目录和文件。尽管可能会阻止用户修改设置或实施其它更改,但将 SSH 访问权限授予任何人之前仍要考虑很重要的安全性和机密问题。
如果需要将 SSH 访问权限授予 eDirectory 用户,则按顺序完成以下部分中的说明,因为这些说明适用于此情况。
在要授予访问权限的 OES 2 Linux 服务器上,打开 YaST 控制中心,然后单击“安全性和用户”>“防火墙”。
在左侧的导航框中,单击“允许的服务”。
在“允许的服务”下拉列表中,选择“SSH”。
单击“添加”>“下一步”>“接受”。
现在防火墙配置为允许 SSH 与服务器连接。
如果 SSH 已经是服务器上 Linux 用户管理所允许的服务,则跳转到为 LUM 启用用户。
或
如果 SSH 不是服务器上 Linux 用户管理所允许的服务,则完成以下步骤。
在 OES 2 Linux 服务器上,打开 YaST 控制中心;在“Open Enterprise Server”组中,单击“OES 安装和配置”。
单击“接受”。
如果已装载了 Novell Open Enterprise Server 配置屏幕,则点击“Linux 用户管理”下的“禁用”链接。
选项更改为“启用”,并出现配置设置。
单击“Linux 用户管理”。
在相应的字段中键入 eDirectory 管理员口令,然后单击“确定”>“下一步”。
在允许的服务的列表中,单击“sshd”。
单击“下一步”>“下一步”>“完成”。
除了系统创建的 Samba 组,eDirectory 中每个启用 LUM 的组现在都将 SSH 显示为允许的服务。Samba 组将该服务显示为不允许(或者从字面来讲,未选中“sshd”)。
有多种方法可以为 LUM 启用用户。
例如,在“iManager”>“Linux 用户管理”中,有多个选项用于启用用户(并在该过程中选择组)或启用组(并在该过程中启用用户)。Linux 启用是具备 Samba 访问权限所需过程的一部分。最后,还有命令行选项。
有关具体的说明,请参考《OES 2:Novell Linux 用户管理技术指南》(OES 2: Novell Linux User Management Technology Guide) 中的管理 eDirectory 中的用户和组对象
。
将服务器的防火墙配置允许 SSH 后,将 SSH 添加为允许的服务,且对希望具有 SSH 访问权限的 eDirectory 用户启用 LUM,如果还没有在服务器上为这些用户启用 Samba,则他们现在具有针对服务器的 SSH 访问权限。
另一方面,如果已在服务器上安装了 Samba,或者会在将来安装 Samba,则配置为具有 Samba 访问权限的用户将失去 SSH 访问权限。
要恢复受 Samba 影响的用户的 SSH 访问权限,请参见为 Samba 用户提供 SSH 访问权限。
当然,许多网络管理员仅将 SSH 访问权限授予那些具有管理职责的用户。他们不希望每个启用 LUM 的用户都具有针对服务器的 SSH 访问权限。
如果需要仅将 SSH 访问权限授予某些启用 LUM 的用户,则继续执行将 SSH 访问权限仅授予某些启用 LUM 的用户。
将一个或多个用户添加到启用 LUM 的组中,然后禁用该组的 SSH 访问权限,就可以轻松限制这些用户的 SSH 访问权限。这将覆盖启用 SSH 访问权限的所有其它组指派。
使用 iManager 的访问 URL 在浏览器中打开它:
http://IP 地址/iManager.html
其中,IP 地址是安装了 iManager 2.7 的 OES 2 服务器的 IP 地址。
在“职能和任务”列表中,单击“组”>“创建组”。
键入组名(例如 NoSSHGroup),并选择环境(例如其它组和用户对象所在的树枝)。然后单击“确定”
在“职能和任务”列表中,单击“目录管理”>“修改对象”。
浏览至您刚创建的组并单击“确定”。
单击“Linux 简报”选项卡。
选择“启用 Linux 简报”选项。
在“添加 UNIX 工作站”对话框中,浏览到并选择要限制 SSH 访问权限的服务器的 UNIX 工作站对象,然后单击“确定”>“确定”。
单击“应用”>“确定”。
在“职能和任务”列表中,单击“修改对象”,再次浏览至该组,然后单击“确定”。
单击“其它”子选项卡。
在“不重要特性”列表中,选择“uamPosixPAMServiceExcludeList”,然后单击向左箭头将该特性移至“重要特性”列表中。
在“添加特性”对话框中,单击空白下拉列表旁的加号 (+)。
在“添加项目”字段中,键入 sshd,然后单击“确定”>“确定”。
单击“成员”选项卡。
浏览至您不希望具有 SSH 访问权限的用户对象并选择它们,然后单击“确定”。
单击“应用”>“确定”。
有两种方法可将 SSH 访问权限提供给已启用 Samba 访问权限的用户:
可以从 服务器名称-W-SambaUserGroup 中去除用户。
重要说明:这预示着用户是一个启用 LUM 的不同组的成员,该组也提供对服务器的访问权限。如果为用户启用 LUM 仅作为 Samba 配置的一部分,则从 Samba 组中去除用户将中断对 Samba 的访问,并且用户也将无法获得 SSH 访问权限。
通过将 uamPosicPAMServiceExcludeList 特性从“重要特性”列表中去除,使用将 SSH 访问权限仅授予某些启用 LUM 的用户中的说明作为一般性指南,然后从步骤 10开始,可以更改整个 Samba 组的访问权限。
注:虽然使用“修改组”iManager 插件禁用 SSH 访问权限的方法更简单和直接,但该方法在本文发布时尚不起作用。虽然该插件似乎取消选择了“sshd”作为允许的服务,但在重新装载组信息时仍选择了该服务。Novell 计划在不久的将来解决此问题。