PowerScale OneFS:配置 SFTP 和设置 chroot

Summary: 本文档介绍如何允许通过安全文件传输协议 (SFTP) 访问 PowerScale 群集。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

本文档介绍如何允许通过 SFTP 访问 PowerScale 群集。开始此过程时,需要牢记一些限制和注意事项。

  • 需要 SFTP 访问权限的用户/组必须具有 ISI_PRIV_LOGIN_SSH 与其用户关联的权限。
  • SSH 和 SFTP 访问仅在“系统”区域内工作。
  • 并非所有 ssh 配置选项都可用;PowerScale 通过 PowerScale 支持 Match 和 Subsystem 语句 isi ssh modify 命令集。

除了这些因素之外,PowerScale 可以像任何其他 FreeBSD OpenSSH 服务器一样运行。使用以下命令检查群集上的 OpenSSH 版本 ssh -V

有关设置角色和权限的指导,请在“管理角色和权限”部分下查阅适用于您的版本的 CLI 或 Web 管理指南。

检查用户/组是否具有 ISI_PRIV_LOGIN_SSH

验证相关用户是否具有 ISI_PRIV_LOGIN_SSH。下面是默认管理员用户的示例。

p930-1# isi auth mapping token admin | grep "LOGIN_SSH"
            ISI_PRIV_LOGIN_SSH

如果没有输出,则必须为用户分配包含该权限的角色。有关如何执行此作的更多详细信息,请参阅您的相关版本的管理指南中的“管理角色和权限”

本地用户的基本 SFTP 访问权限

验证正确的权限后,用户应根据其用户映射令牌拥有对文件系统部分的 SFTP 访问权限。

p930-1# sftp admin@localhost
(admin@localhost) Password:
Connected to localhost.
sftp> dir
sftp> cd ..
sftp> dir
admin  ftp

基本 Chroot SFTP 访问权限

要将用户限制为文件系统的特定子集,请使用 OpenSSH 的 ChrootDirectory Match 语句中的功能。这会导致客户端将其登录路径视为 / 并使其无法离开文件系统的子集。 ChrootDirectory 但是,对 的整个路径有严格的目录权限要求 ChrootDirectory 路径中的每个目录都具有 Posix 权限 root:wheel drwxr-xr-x 有关此内容的更多详细信息,请参阅 OpenSSH maintainers 手册页

下面是一个常见的 Match 语句,用于实现 ChrootDirectory 匹配组时。以下项需要前三行: ChrootDirectory 没有支持文件。最后一行限制用户利用 OpenSSH 中的 X11Forwarding 功能的能力。 

Match Group admin
ChrootDirectory /ifs/sftp
ForceCommand internal-sftp
X11Forwarding no

下面是一个为 chroot 准备路径的基本示例,当任何匹配的用户可以写入 /ifs/sftp/home 目录下看到一个新的 res 目录。 root:wheel 拥有目录 /ifs/ifs/sftp,权限设置为 755 ChrootDirectory 而 /ifs/sftp/home 权限为 777,允许用户写入访问。

p930-1# isi auth settings acls modify --calcmode-group=group_only --calcmode-owner=owner_only
p930-1# mkdir -p /ifs/sftp/home
p930-1# chmod 755 /ifs/
p930-1# chmod 755 /ifs/sftp
p930-1# chmod 777 /ifs/sftp/home
p930-1# isi ssh settings modify --match="Match Group admin
dquote>     ChrootDirectory /ifs/sftp
dquote>     ForceCommand internal-sftp"
p930-1# sftp admin@localhost
(admin@localhost) Password:
Connected to localhost.
sftp> ls
home
sftp> pwd
Remote working directory: /

配置多个匹配字符串

管理文件中的多个匹配项,然后将它们传递给我们的 isi ssh 命令从阵列检索较旧的数据。使用此过程可确保 sshd 验证文件,并仅在更改有效时应用更改。

以下是成功和失败的示例。

p930-1# cat /ifs/sshMatches
Match Group admin
ChrootDirectory /ifs/sftp
ForceCommand internal-sftp
X11Forwarding no
Match All
X11Forwarding no
p930-1# sshd -t -f /ifs/sshMatches && isi ssh settings modify --match="$(cat /ifs/sshMatches)"
p930-1# sshd -t -f /ifs/sshMatchBad && isi ssh settings modify --match="$(cat /ifs/sshMatchBad)"
Missing Match criteria for Allk
/ifs/sshMatchBad line 6: Bad Match condition

匹配字符串注意事项。

设置匹配字符串时,群集知道的任何用户或组标识符均可在“匹配用户”或“匹配组”字符串中使用。因此,可以通过RFC2307通过以下方式引用 Active Directory 组 domain\user

如果用户未路由到匹配用户字符串中的正确路径或设置,请使用以下命令验证是否可以在群集上查找该用户: isi auth mapping token <username> 从 Match String 中获取用户名。

如果用户未路由到匹配组字符串中的正确路径或设置,请使用以下命令验证用户是否为相关组的成员 isi auth mapping token <username> | grep <groupname>

提供用户名,并从匹配字符串中获取组名称。

下面是一个示例,该用户由于 Match Group 语句中的错误而无法正确路由到路径。用户 stateroot 在用户未正常工作时 prodroot 是,更正 Match Group 语句中使用的组名称中的错误来解决这个问题。

p930-1# isi auth mapping token stageroot | grep "LOGIN_SSH"
            ISI_PRIV_LOGIN_SSH
p930-1# isi auth mapping token prodroot | grep "LOGIN_SSH"
            ISI_PRIV_LOGIN_SSH
p930-1# cat /ifs/sshMatches
Match Group Stage-Root-SFTP
ChrootDirectory /ifs/home/Stage-Root
X11Forwarding no
ForceCommand internal-sftp
Match Group Prod-Root
ChrootDirectory /ifs/home/Prod-Root
X11Forwarding no
ForceCommand internal-sftp
p930-1# isi auth mapping token stageroot | grep "Stage-Root-SFTP"
p930-1# isi auth mapping token prodroot | grep "Prod-Root"
          Name: Prod-Root
p930-1# isi auth mapping token stageroot | grep "Stage-Root"
          Name: Stage-Root

传统配置

在 OneFS 8.2 之前,可以实现相同的功能,但是 isi ssh 命令尚不存在。而不是使用 isi ssh settings modify --match="" 编辑文件 /etc/mcp/templates/sshd_config 使用上述步骤将使用的相同匹配字符串。将它们添加到末尾 /etc/mcp/templates/sshd_config

提供的说明应适用于 OneFS 8.2 之前的 OneFS 版本,但在升级到支持应用程序编程接口 (API) 的 OneFS 版本后,以这种方式进行的任何配置调整都将被删除。使用 SFTP 访问权限的用户仍需要 ISI_PRIV_LOGIN_SSH 特权。

Article Properties
Article Number: 000157780
Article Type: How To
Last Modified: 26 فبراير 2026
Version:  8
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.