scponly ではなく、 OpenSSH の設定で実現します。
以前は scponly で実現をしていましたが、OpenSSH 4.9 からは chroot の機能がビルトインされているので、 scponlyをインストールする必要はありません。
設定手順
OpenSSHの設定ファイル
onlyuser という名前のユーザーが SFTP で Apache の公開領域 (/var/www/) だけ操作できるように設定します。
まず /etc/ssh/sshd_config を変更します。SFTP の接続を処理するサブシステムを、標準の sftp-server から sshd 内部の internal-sftp に変更します。
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
次に末尾に以下の 3 行を追加します。
Match User onlyuser ChrootDirectory /var/www ForceCommand internal-sftp
Match User は対象ユーザー、ChrootDirectory は許可するディレクトリを指定します。
ちなみに、ここでForceCommandで internal-sftpを指定してるから、上記の標準設定はいらないんじゃない?と思ったのですが、標準設定を変えないとうまくいきませんでした。