假设我已经设置了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密钥传递?
感谢。
答案 0 :(得分:0)
您可以将环境变量SSH_ORIGINAL_COMMAND
用于此类事情。
SSH_ORIGINAL_COMMAND如果执行强制命令,则此变量包含原始命令行。它可以用来提取原始参数