逆引きマニュアル: sshd: sftpサーバの設定

投稿日: 更新日:

やりたいこと

以下を満たすsftpサーバを作成します。

  • 公開鍵認証のみで、パスワード認証は許可しない。
  • 専用のディレクトリのみアクセスさせる(chroot使用)

前提条件

以下が行われていること。

  • ユーザの作成
  • 公開鍵の作成
  • 公開鍵のコピー(ssh-copy-id)

CentOS 7.4で確認しています。

手順

パスワード認証を無効化

/etc/ssh/sshd_config最後に、以下の行を追加してください1

Match User sftp-user
PasswordAuthentication no

Chroot対応

Match User sftp-userの後のブロックに、以下の設定を追加してください。

ChrootDirectory /var/ftp/sftp-user
ForceCommand internal-sftp

まとめると以下のようになります2

Match User sftp-user
    PasswordAuthentication no
    ChrootDirectory /var/ftp/sftp-user
    ForceCommand internal-sftp

  1. 「Match行にあるすべての条件が満たされた場合、これ以降の設定項目は次のMatch指令が現れるまでグローバルな設定よりも優先されます。」のため。 ↩︎

  2. 空白によるインデントは見やすくするためです。 ↩︎

外部サイト

マニュアル