sftpだけできるユーザを作る方法【小ネタ】

Linux関連の小ネタです。

外部の会社に作業をお願いする場合、サーバーにはsftpでファイルアップロードさせたいけど、セキュリティの観点からsshはさせたくないことって少なくないと思います。

そんな時の対応方法について簡単に残しておきます。

まずは、sftpのみ許可したいユーザのauthorized_keysの先頭に以下を追加します。

command="internal-sftp"

続けて、sshd_configに以下対応を行います。

# 以下の行のコメントアウトを解除
Subsystem sftp /usr/libexec/openssh/sftp-server

# 以下を追加
Match user [username]
ChrootDirectory /home/[user_dir]/sftp-root
ForceCommand internal-sftp

あとはsshdのデーモンを再起動させれば完了です。

いざという時に使えるので、頭の片隅に置いておくといいのかなと思います。