Vous pouvez verrouiller une authorized_key sur le serveur sftp externe.
command="/usr/libexec/openssh/sftp-server" ssh-rsa AAAA…== user@host.com
Lorsque vous le faites, votre utilisateur peut sftp, mais ne peut pas scp ou ssh :
$ sftp host:/etc/group /tmp
Connecting to host...
Fetching /etc/group to /tmp/group
/etc/group 100% 870 0.9KB/s 00:00
Si vous essayez de faire autre chose, vous serez bloqué :
$ scp host:/etc/group /tmp
Killed by signal 2.
$ ssh host uptime
Killed by signal 2.
Hélas, il n'y a pas de moyen simple pour qu'une clé soit verrouillée à un chroot à moins que le sshd_config ne soit modifié. Ce serait vraiment cool pour un utilisateur de pouvoir le faire sans l'intervention du gestionnaire du système.