限制SSH密钥只执行rsync

我正在为使用rsync的服务器执行备份策略。 我遵循本教程,并限制使用SSH密钥,我使用这个validate-rsync.sh脚本,我也可以运行没有问题:

 #!/bin/sh case "$SSH_ORIGINAL_COMMAND" in *\&*) echo "Rejected" ;; *\(*) echo "Rejected" ;; *\{*) echo "Rejected" ;; *\;*) echo "Rejected" ;; *\<*) echo "Rejected" ;; *\>*) echo "Rejected" ;; *\`*) echo "Rejected" ;; *\|*) echo "Rejected" ;; rsync\ --server*) $SSH_ORIGINAL_COMMAND ;; *) echo "Rejected" ;; esac 

authorized_keys文件的开始部分如下所示:

 command="/home/$USERNAME/validate-rsync.sh" ssh-rsa.... 

据我所知,我不应该通过SSH(从备份服务器)远程连接,然后执行mkdir xx 。 但不知何故,我仍然可以做到。 可能是什么问题呢?

我很感激任何帮助。

我自己想清楚了。 我在错误的SSH密钥前面设置了命令…我很抱歉打扰。