通过ssh键将标志传递给bash脚本

时间:2014-11-18 02:14:26

标签: linux bash ssh key

假设我已经设置了ClientA和ServerB,并且我设置了ServerB以运行备份脚本。现在由于与手头问题无关的原因,备份脚本需要在ClientA上运行几个bash脚本。现在出于安全原因,我在ClientA上设置了一个“备份”用户和一个密钥对,允许ServerB以“备份”用户身份登录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"

由于我在ClientA上设置的密钥,因此不会传递-b标志。有没有办法让标志通过我设置的ssh密钥传递?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以将环境变量SSH_ORIGINAL_COMMAND用于此类事情。

  

SSH_ORIGINAL_COMMAND如果执行强制命令,则此变量包含原始命令行。它可以用来提取原始参数