やりたいこと
以下を満たす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