所以假设我设置了clienta和serverb,并且设置了serverb来运行备份脚本。现在由于与当前问题无关的原因,备份脚本需要在clienta上运行几个bash脚本。出于安全原因,我在clienta上设置了一个“backup”用户和一个允许serverb作为这个“backup”用户登录clienta的密钥对。不过,我想更进一步,只允许键在单个脚本上工作。
这是钥匙:

command="/backup.sh",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa A......

我的问题是,我在clienta上运行了好几次脚本,每次都使用许多不同的标志。但是,我似乎无法通过ssh密钥传递这些标志。
假设我尝试运行以下命令:
$ ssh backup@ClientA "/backup.sh -b"

这不会传递-b标志,因为我在clienta上设置了密钥。是否有方法允许通过我设置的ssh密钥传递标志?
谢谢。

最佳答案

您可以将环境变量SSH_ORIGINAL_COMMAND用于这类事情。
ssh_original_command如果执行强制命令,则此变量包含原始命令行。它可以用来提取原始参数

10-08 03:43