¿Qué restricciones se necesitan en una key SSH para restringir el almacenamiento y escritura de files solo a través de SSHFS?

Quiero restringir las keys utilizadas para sshfs para garantizar que solo el process sshfs pueda usar esa key, es decir, se limitará a los commands que usa sshfs para escribir y save files y directorys de listdo.

Además de las opciones no-port-forwarding,no-x11-forwarding,no-agent-forwarding,no-pty (que supongo que no lo afectarán) ¿qué otras opciones debo agregar?

Estoy pensando en particular en la opción command= y en las opciones de sftp , scp .

    Para mí esto funciona:

     command="/usr/lib/ssh/sftp-server" 

    (Puede averiguarlo solo mirando la list de processs en el server ssh)

    Incluso mejor podría apuntar el command a un script de shell que verifica si el cliente utilizó el command correcto. Me gusta esto (simplificado, no probado):

     #!/bin/sh # We get SSH_ORIGINAL_COMMAND from sshd # comment out for production! echo "debug original command: $SSH_ORIGINAL_COMMAND" >&2 if [ "$SSH_ORIGINAL_COMMAND" != "/usr/lib/ssh/sftp-server" ]; then echo "access denied" >&2 exit 1 fi exec /usr/lib/ssh/sftp-server 

    Tal script también haría posible verificar args permitidos para sftp-server. Idea similar a la conocida rrsync commands rrsync .

    Para las otras posibles opciones "no- *". Supongo que puedes usar la mayoría de ellos, solo inténtalo. Se explican en el man sshd -> AUTHORIZED_KEYS FILE FORMAT