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のデーモンを再起動させれば完了です。
いざという時に使えるので、頭の片隅に置いておくといいのかなと思います。