PowerScale OneFS:SFTP の構成と chroot のセットアップ

Summary: このドキュメントでは、Secure File Transfer Protocol (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は、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 パス内のすべてのディレクトリが root:wheel drwxr-xr-x 詳細については、OpenSSH メンテナの マニュアルページを参照してください。

以下は、実装するための一般的な Match ステートメントです ChrootDirectory グループのマッチング中。最初の 3 行は、 ChrootDirectory サポート ファイルなし。最後の行は、ユーザーが OpenSSH 内の X11Forwarding 機能を利用する機能を制限します。 

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

以下は、一致するユーザーが /ifs/sftp/home ディレクトリーを削除します。 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

一致文字列に関する考慮事項。

一致文字列を設定する場合、クラスターが認識している任意のユーザーまたはグループ識別子を「一致ユーザー」または「一致グループ」文字列で使用できます。したがって、Active Directoryグループの参照は、RFC2307を使用して実行できます。 domain\userの詳細を確認してください。

ユーザーが正しいパスにルーティングしていない場合、またはユーザーの一致文字列の設定にルーティングしていない場合は、次のコマンドを使用して、ユーザーがクラスターで検索できることを確認します isi auth mapping token <username> 一致文字列からユーザー名を取得します。

一致グループ文字列内の正しいパスまたは設定にユーザーがルーティングしていない場合は、次のコマンドを使用して、ユーザーが問題のグループのメンバーであることを確認します isi auth mapping token <username> | grep <groupname>.

ユーザー名を入力し、一致文字列からグループ名を取得します。

以下は、一致グループ ステートメントの誤りにより、パスに正しくルーティングされていないユーザーの例です。ユーザー 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: 09 رمضان 1447
Version:  8
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.