SFTP だけができるユーザーを作ると。
バックアップ用やデプロイ用に、ユーザーを作るのがめんどくさい。
ちょっとしたコマンドは実行できなくてSFTPさえできればいいときに、デプロイ用のユーザを作って /etc/ssh/sshd_config で管理するのも面倒
そこで、www-data やroot などの nologin ユーザーにSSH接続を許可してSFTPだけを使うようにする。
公開鍵を登録する autorized_keys でアレコレできる。
authorized_keys に設定を書き込めば、制限や細かい設定を鍵ごとに帰ることできる。そこで、SFTPだけの許可をauthorized_keys に追記する。
authorized_keys に次のようにかけば、OK
command="internal-sftp" ssh-rsa AAAAB3NzaC1yc2EAAAA
chrroot する場合は
authorized_keyにオプションをつけたものを書き込めばいいみたい。
command="internal-sftp -d /var/www" ssh-rsa AAAAB3NzaC1yc2EAAAA
SFTP さえあれば事足ることが多い。
自分以外のlinuxユーザーアカウントが、SSHアクセスしたい場合の大半はファイル転送だと思うんだ。いちいちコマンド実行できるSSHを許可するのも面倒だよね。ということで、
関連資料
SFTPユーザを作る話 → SSHをSFTPに制限して、ディレクトリを制限(chroot)した専用アカウントを作る - それマグで!
Ahtorized_keys で公開鍵ごとに機能制限する話 → sshの公開鍵authorized_keys ファイルの制限機能について調べてみたら楽しかった. - それマグで!