
現在、SSH サーバーで 2 要素認証を使用しているため、sshd_config に「RequiredAuthentications2 publickey,keyboard-interactive」が含まれています (publickey はキー用、keyboard-interactive は PAM 経由で処理される 2 要素用)
開発者の作業を容易にするために、sftp サブシステムの 2 要素認証の要件を無効にしたいと考えています。
私はすでに「Match サブシステム sftp」のようなものを検索しました(利用可能な「Match グループ」のように、後で「RequiredAuthentications2 公開キー」のみを定義できますが、それは不可能のようです。
私が調べたもう 1 つのことは、PAM をチェックして、sftp サブシステム用に別の構成を定義できるかどうか (これは実行できないようです。pam のサービスは常に 'ssh' です)、または sshd pam conf に "auth [success=1 default=ignore] pam_succeed_if.so quiet subsystem in sftp" のような内容を含めることができるかどうかです。
何かヒントはありますか? (別の設定で sftp 専用の別の sshd インスタンスを設定する以外に)
答え1
グループ ルールでセキュリティを緩めるのではなく、デフォルトのセキュリティを使用して、グループ ルールでセキュリティを強化します。 には 2 要素認証が必要ですusers
が、 には必要ない例を次に示しますsftp-users
。
# Only these groups can connect
AllowGroups users sftp-users
Match Group users
RequiredAuthenticatios2 publickey,keyboard-interactive
Match Group sftp-users
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
私はこれをUbuntuシステムで試作し、CentOSシステムのマニュアルページの と の代わりに sshd_config マニュアルページを指定しました。AuthenticationMethods
同等の行は次の通りです。RequiredAuthenticatios1
RequiredAuthenticatios2
AuthenticationMethods publickey,password