SCP/SFTP 専用アカウントを作りたい

rssh(1) を使えばよい。

  • 該当アカウントのシェルを /usr/bin/rssh に変更する
  • 与えたい権限は /etc/rssh.conf (see rssh.conf(5)) で設定する。
  • chroot させたいときはディレクトリ dir に対して
# mkchroot.sh dir

を実行して jail(?) 環境を作成しておく。なお mkchroot.sh は /usr/share/doc/rssh/examples/mkchroot.sh.gz として導入されているので適当に gunzip して使う。

  • 私の環境では /usr/lib/rssh/rssh_chroot_helper が setuid root されていなかったため、そのままでは chroot システムコール呼び出し時に EPERM が発生してうまくいかなかった。ということで手で
# chroot u+s /usr/lib/rssh/rssh_chroot_helper

して解決。