2026年4月時点ではAmazon FSx for NetApp ONTAPへのSSH接続時の2つ目の認証要素としてTOTPはサポートされていない
FSxNファイルシステムやSVMにSSH接続する際にMFAを行いたい
こんにちは、のんピ(@non____97)です。
皆さんはAmazon FSx for NetApp ONTAP(以降FSxN)を運用していて、FSxNファイルシステムやSVMにSSH接続する際にMFAを行いたいなと思ったことはありますか? 私はあります。
NetApp ONTAPでは以下のようにクラスターやSVMのローカルアカウントを用いてSSHを行う際にMFAをサポートしています。サポートしているMFAはONTAPのバージョンによって異なります。現在サポートされている組み合わせは以下のとおりです。
| 追加されたリリース | 第1の認証方式 | 第2の認証方式 |
|---|---|---|
| ONTAP 9.14.1 | SSH公開鍵 | TOTP |
| ユーザ パスワード | TOTP | |
| SSH公開鍵 | Cisco Duo | |
| ユーザ パスワード | Cisco Duo | |
| ONTAP 9.13.1 | SSH公開鍵 | TOTP |
| ユーザ パスワード | TOTP | |
| ONTAP 9.3 | SSH公開鍵 | ユーザ パスワード |
抜粋 : ONTAP多要素認証について学ぶ
MFAで2つ目の認証要素として多いのはTOTPではないでしょうか?
しかし、AWS公式ドキュメントを探してもFSxNでのTOTPサポートについての言及がありませんでした。
実際に試してみます。
いきなりまとめ
- 2026年4月時点ではAmazon FSx for NetApp ONTAPへのSSH接続時の2つ目の認証要素としてTOTPはサポートされていない
- 代替案はfsxadminのセキュリティを向上させるのであればパスワード認証と公開鍵認証の組み合わせ
やってみた
fsxadminユーザーにてプライマリ認証がパスワード認証 / セカンダリ認証がTOTPの組み合わせ
実際に設定してみます。
試しにFSxNファイルシステムで運用者が使用できる最も強い権限であるfsxadminに対して、MFAを設定します。
バージョンはONTAP 9.17.1であり、TOTPをサポートしています。
::> version
NetApp Release 9.17.1P6: Wed Mar 25 15:38:10 UTC 2026
現在のfsxadminの認証方式は以下のとおりです。
::> security login show -vserver FsxId055301943970047df -user-or-group-name fsxadmin
Vserver: FsxId055301943970047df
Second
User/Group Authentication Acct Authentication
Name Application Method Role Name Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
fsxadmin http password fsxadmin no none
fsxadmin ontapi password fsxadmin no none
fsxadmin ssh password fsxadmin no none
fsxadmin ssh publickey fsxadmin - none
4 entries were displayed.
以下NetApp公式ドキュメントに従い、プライマリ認証がパスワード認証となっているもののセカンダリ認証としてTOTPを設定します。
::> security login modify -vserver FsxId055301943970047df -user-or-group-name fsxadmin -application ssh -authentication-method password -second-authentication-method totp
Error: command failed: For a given user and application, if the "-second-authentication-method" parameter is specified,
only one such login method is supported.
はい、エラーになりました。SSHやREST APIなどアプリケーションとサポートされてるログイン方法の組み合わせについて、セカンダリ認証を設定できるのは1つまでということです。
今回はSSHにおいてプライマリ認証がパスワード認証と公開鍵認証との2種類が登録されているため、弾かれているといった具合です。
公開鍵認証は行わないので削除をして再トライします。
::> security login delete -vserver FsxId055301943970047df -user-or-group-name fsxadmin -application ssh -authentication-method publickey
::> security login show -vserver FsxId055301943970047df -user-or-group-name fsxadmin
Vserver: FsxId055301943970047df
Second
User/Group Authentication Acct Authentication
Name Application Method Role Name Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
fsxadmin http password fsxadmin no none
fsxadmin ontapi password fsxadmin no none
fsxadmin ssh password fsxadmin no none
3 entries were displayed.
::> security login modify -vserver FsxId055301943970047df -user-or-group-name fsxadmin -application ssh -authentication-method password -second-authentication-method totp
Warning: TOTP is initially disabled for user "fsxadmin". To enable TOTP, user "fsxadmin" must login and configure TOTP using the "security login totp create".
::> security login show -vserver FsxId055301943970047df -user-or-group-name fsxadmin
Vserver: FsxId055301943970047df
Second
User/Group Authentication Acct Authentication
Name Application Method Role Name Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
fsxadmin http password fsxadmin no none
fsxadmin ontapi password fsxadmin no none
fsxadmin ssh password fsxadmin no totp
3 entries were displayed.
無事にセカンダリ認証としてTOTPを登録できましたね。
今は認証方式を指定しただけで、実際にTOTPを使うようになっていません。security login modify実行時のメッセージと以下NetApp公式ドキュメントに従いTOTP設定を行います。
::> security login ?
banner> Manage the login banner
create Add a login method
delete Delete a login method
domain-tunnel> The domain-tunnel directory
duo> Manage Duo Configurations
expire-password Expire user's password
external-role-mapping> Manage the role mapping configurations for the external roles
group> Manage group configurations
lock Lock a user account with password authentication method
modify Modify a login method
motd> Manage the message of the day (MOTD)
password Modify a password for a user
publickey> Manage public keys
rest-role> Manage REST access control roles
role> Manage access control roles
show Show user login methods
totp> Manage totp
unlock Unlock a user account with password authentication method
whoami Show the current user, trust score of the user and role of this session
::> security login totp show
This table is currently empty.
::> security login totp create -username fsxadmin
Error: command failed: not authorized for that command
::> security login totp create?
create Add a TOTP secret
::> security login totp create ?
[ -vserver <vserver name> ] Vserver (default: FsxId055301943970047df)
[[-username] <text>] Username (default: fsxadmin)
[[-comment] <text>] Comment
はい、エラーになってしまいました。security login totp createコマンド自体は認識できていますが、入力を受け付けてくれません。
diagに権限レベルを上げても結果は変わりませんでした。
::> set diag
Warning: These diagnostic commands are for use by NetApp personnel only.
Do you want to continue? {y|n}: y
::*> security login totp create -username fsxadmin
Error: command failed: not authorized for that command
fsxadminロールの新規ユーザーにてプライマリ認証がパスワード認証 / セカンダリ認証がTOTPの組み合わせ
もしかすると、fsxadminというデフォルトユーザーなのがよろしくないのでしょうか。
対応として、新規ユーザーを作成して同様にプライマリ認証がパスワード認証 / セカンダリ認証がTOTPとなるように設定していきます。
::*> security login create -vserver FsxId055301943970047df -user-or-group-name fsxadmin-non-97 -application ssh -authentication-method password -second-authentication-method totp -role fsxadmin -comment "for non-97 fsxadmin"
Please enter a password for user 'fsxadmin-non-97':
Please enter it again:
Warning: TOTP is initially disabled for user "fsxadmin-non-97". To enable TOTP, user "fsxadmin-non-97" must login and configure TOTP using the "security login totp create".
::*> security login show -vserver FsxId055301943970047df
Vserver: FsxId055301943970047df
Second
User/Group Authentication Acct Authentication
Name Application Method Role Name Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
autosupport console password autosupport no none
fsxadmin http password fsxadmin no none
fsxadmin ontapi password fsxadmin no none
fsxadmin ssh password fsxadmin no totp
fsxadmin-non-97
ssh password fsxadmin no totp
5 entries were displayed.
::*> security login totp create -username fsxadmin-non-97
Error: command failed: not authorized for that command
はい、結果は変わりませんでした。security login totp createを受け付けてくれません。
試しにこちらのユーザーでSSHをした上で、TOTPの設定を行います。
> ssh fsxadmin-non-97@management.fs-055301943970047df.fsx.us-east-1.amazonaws.com
(fsxadmin-non-97@management.fs-055301943970047df.fsx.us-east-1.amazonaws.com) Password:
This is your first recorded login.
::> set diag
Warning: These diagnostic commands are for use by NetApp personnel only.
Do you want to continue? {y|n}: y
::*> security login totp create -username fsxadmin-non-97
Error: command failed: not authorized for that command
結果は変わりません。
vsadminロールの新規ユーザーにてプライマリ認証がパスワード認証 / セカンダリ認証がTOTPの組み合わせ
となると、fsxadminロールがよろしくないのでしょうか。
vsadminロールを割り当てた新規ユーザーを作成して同様にプライマリ認証がパスワード認証 / セカンダリ認証がTOTPとなるように設定していきます。
::*> security login create -vserver svm -user-or-group-name vsadmin-non-97 -application ssh -authentication-method password -second-authentication-method totp -role vsadmin -comment "for non-97 vsadmin"
Please enter a password for user 'vsadmin-non-97':
Please enter it again:
Warning: TOTP is initially disabled for user "vsadmin-non-97". To enable TOTP, user "vsadmin-non-97" must login and configure TOTP using the "security login totp create".
::*> security login show -vserver svm
Vserver: svm
Second
User/Group Authentication Acct Authentication
Name Application Method Role Name Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
vsadmin http password vsadmin yes none
vsadmin ontapi password vsadmin yes none
vsadmin ssh password vsadmin yes none
vsadmin-non-97 ssh password vsadmin no totp
4 entries were displayed.
::*> security login totp create -username vsadmin-non-97
Error: command failed: not authorized for that command
はい、結果は変わりません。
ということで、2026年4月時点ではAmazon FSx for NetApp ONTAPへのSSH接続時の2つ目の認証要素としてTOTPはサポートされていないことと受け取りました。
fsxadminユーザーにてプライマリ認証がパスワード認証 / セカンダリ認証が公開鍵の組み合わせ
セキュリティ上の要件として、管理者権限を持つユーザーの認証をする際にはMFAが必須の場合はあるかと思います。
他に取りうる方法としてはプライマリ認証がパスワード認証 / セカンダリ認証が公開鍵の組み合わせです。
この組み合わせについてもAWS公式ドキュメント上では特に言及はないのですが、試してみましょう。
セカンダリ認証を公開鍵となるようにfsxadminユーザーの認証方法を変更します。
::*> security login modify -vserver FsxId055301943970047df -user-or-group-name fsxadmin -application ssh -authentication-method password -second-authentication-method publickey
Warning: Public key authentication is being setup for user "fsxadmin". This requires creating a public key for the user. After this command completes, use the "security login publickey create" command to create a public key for user "fsxadmin".
::*> security login show
Vserver: FsxId055301943970047df
Second
User/Group Authentication Acct Authentication
Name Application Method Role Name Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
autosupport console password autosupport no none
fsxadmin http password fsxadmin no none
fsxadmin ontapi password fsxadmin no none
fsxadmin ssh password fsxadmin no publickey
fsxadmin-non-97
ssh password fsxadmin no totp
Vserver: svm
Second
User/Group Authentication Acct Authentication
Name Application Method Role Name Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
vsadmin http password vsadmin yes none
vsadmin ontapi password vsadmin yes none
vsadmin ssh password vsadmin yes none
vsadmin-non-97 ssh password vsadmin no totp
9 entries were displayed.
続いて、手元で適当にEd25519キーペアを作成します。
> ssh-keygen -t ed25519 -C "fsxadmin"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/<ホームディレクトリ>/.ssh/id_ed25519): ./fsxadmin
Enter passphrase for "./fsxadmin" (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in ./fsxadmin
Your public key has been saved in ./fsxadmin.pub
The key fingerprint is:
SHA256:m4HVHu8Ht4dCeHNJfMVdGCqgQgozshn//tzZ2SKcScg fsxadmin
The key's randomart image is:
+--[ED25519 256]--+
|* . . .+=|
|.O o . o o. +|
|o o . . . + . o .|
| . . o . = . o |
| ....S o * + |
| . E .+ + = o |
| . ooo o + .|
| o .=o.o o . |
| o o.o.. |
+----[SHA256]-----+
> ls -l
total 16
-rw-------@ 1 <ユーザー名> <グループ名> 399 4 29 15:24 fsxadmin
-rw-r--r--@ 1 <ユーザー名> <グループ名> 90 4 29 15:24 fsxadmin.pub
> cat fsxadmin.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEz5J0sXgL0l0Kri0Aje4RQ6gnsCRjHX8L9rdsn5FMYq fsxadmin
生成された公開鍵を登録します。
公開鍵の登録についてはAWS公式ドキュメントでも言及がありました。
::*> security login publickey create -vserver FsxId055301943970047df -username fsxadmin -application ssh -publickey "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEz5J0sXgL0l0Kri0Aje4RQ6gnsCRjHX8L9rdsn5FMYq fsxadmin"
::*> security log publickey show
Vserver: FsxId055301943970047df
UserName: fsxadmin Application: ssh Index: 0
Public Key:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEz5J0sXgL0l0Kri0Aje4RQ6gnsCRjHX8L9rdsn5FMYq fsxadmin
Fingerprint:
SHA256:m4HVHu8Ht4dCeHNJfMVdGCqgQgozshn//tzZ2SKcScg
Bubblebabble fingerprint:
xesiv-gimeg-petem-fegyz-favag-nofov-fafim-cygys-kagep-hufud-coxix
Comment:
-
Certificate:
-
Certificate Details:
-
Certificate Expiration Status: -
Certificate Revocation Status: -
登録されましたね。
これでfsxadminでFSxNファイルシステムにSSHをしようとしてみます。
> ssh fsxadmin@management.fs-055301943970047df.fsx.us-east-1.amazonaws.com
fsxadmin@management.fs-055301943970047df.fsx.us-east-1.amazonaws.com: Permission denied (publickey).
> ssh fsxadmin@management.fs-055301943970047df.fsx.us-east-1.amazonaws.com -i ./fsxadmin
(fsxadmin@management.fs-055301943970047df.fsx.us-east-1.amazonaws.com) Password:
This is your first recorded login.
::>
::> whoami
(security login whoami)
User: fsxadmin
Role: fsxadmin
Trust Score: -
接続時に秘密鍵とパスワードの両方を求められるようになりましたね。
他の対応策の検討
NetApp ONTAPで提供されているクラスターおよびSVMの管理操作のセキュリティレベルを向上させる他の対応策の検討してみます。
具体的な例としては以下が挙げられます。
- Just in time 権限昇格 (JIT-Privilege)
- Multi-Admin-Verify (MAV)
- 動的許可
JIT-Privilegeはユーザーは特定のタスクを実行するために一時的に権限を昇格することができます。
以下SSM Session ManagerのJITNAと似たような機能です。
しかし、こちらの機能は現時点では使用できません。security jit-privilege系のコマンドが公開されていないためです。
::*> security jit-privilege show
Error: "jit-privilege" is not a recognized command
::*> security ?
anti-ransomware> The anti-ransomware directory
audit> Manage administrative audit logging settings
certificate> Manage Digital Certificates
config> *Manage Cluster Security Configuration
dynamic-authorization> The dynamic-authorization directory
ipsec> Manage IPsec
key-manager> Manage Key Management Servers
login> Manage login methods, roles, and passwords
oauth2> The oauth2 directory
protocol> *Manage application configuration
session> Manage CLI, ONTAPI, and REST sessions and view request statistics
ssh> Manage SSH Configuration
ssl> Manage the SSL configurations for a Vserver
MAVはユーザーが特定の操作をする際に他の管理者にその操作の承認を要求する仕組みです。これにより、悪意のある操作や誤操作による変更やデータの削除を防ぐことができます。
しかし、こちらもJIT-Privilegeと同様に現時点では使用できません。security multi-admin-verify系のコマンドが公開されていないためです。
動的許可は、ユーザにセキュリティスコアを割り当て、その行動が不審な場合に追加の許可チェックを実施するか、操作を拒否します。
こちらはSVM単位で設定する形であるため、FSxNファイルシステムに対しての制御を行うことはできません。
::*> security dynamic-authorization show
Vserver: svm
Dynamic Authorization State: disabled
Dynamic Authorization Suppression Interval: 10m
Lower MFA Challenge Boundary: 0%
Upper MFA Challenge Boundary: 90%
::*> security dynamic-authorization ?
authentication-history-policy> Manage Authentication history policy
executed-commands> Manage Dynamic Authorization executed commands
group> Manage Dynamic Authorization Group Inclusion/Exclusion
modify Modify dynamic-authorization global settings
rule> Manage Dynamic Authorization Rules
show Show dynamic-authorization global settings
trust-score-component> Manage Dynamic Authorization Trust Score Components
user-trust-score> Manage Dynamic Authorization User Trust Score
::*> security dynamic-authorization modify -state visibility
Error: command failed: not authorized for that command
::*> security dynamic-authorization modify -state visibility -vserver svm
::*> security dynamic-authorization show
Vserver: svm
Dynamic Authorization State: visibility
Dynamic Authorization Suppression Interval: 10m
Lower MFA Challenge Boundary: 0%
Upper MFA Challenge Boundary: 90%
そのため、FSxNファイルシステムレベルの保護にはつながりません。
fsxadminのセキュリティを向上させるのであればパスワード認証と公開鍵認証の組み合わせる形になりそう
2026年4月時点ではAmazon FSx for NetApp ONTAPへのSSH接続時の2つ目の認証要素としてTOTPはサポートされていないことを紹介しました。
fsxadminのセキュリティを向上させるのであればパスワード認証と公開鍵認証の組み合わせる形になりそうですね。
個人的にはJIT-PrivilegeやMAVはエンタープライズ企業やセキュリティを非常に重要視される環境においては嬉しい機能なので、FSxNでもサポートして欲しいですね。
この記事が誰かの助けになれば幸いです。
以上、クラウド事業本部 コンサルティング部の のんピ(@non____97)でした!







