.ssh/authorized_keys 中“命令”的安全性

.ssh/authorized_keys 中“命令”的安全性

假设~/.ssh/authorized_keys包含

command="/home/me/bin/debug.sh",restrict ssh-rsa <X-PUBLIC-KEY>

/home/me/bin/debug.sh包含:

case "$SSH_ORIGINAL_COMMAND" in
  "scp -t /tmp/exact_path.txt")
    scp -t /tmp/exact_path.txt
    ;;
  *)
    echo "Access denied"
    exit 1
    ;;
esac

我猜意图很明确 - 允许 X-PUBLIC-KEY 持有者将文件准确地上传到一个地方“/tmp/exact_path.txt”,而不上传到其他地方。(特别是禁止将内容上传到~/.ssh/目录)

如果“X-PUBLIC-KEY”落入坏人之手,最糟糕的情况会是什么?恶意用户是否有办法使用“X-PUBLIC-KEY”来实现超出预期的事情?

答案1

除非程序本身存在任何类型的漏洞ssh,可以绕过这个限制(这不太可能),否则他们最多只能上传一个大文件并填充所在的分区/tmp

相关内容