shell - 将参数传递给 SSH 客户端以执行带参数的 ForceCommand

标签 shell unix ssh openssh

我无法将命令参数远程传递到 ssh 中的“ForceCommand”程序。

在我的远程服务器中,我在 sshd_config 中有这个配置:

Match User user_1 
ForceCommand /home/user_1/user_1_shell

user_1_shell 程序限制了用户可以执行的命令,在这种情况下,我只允许用户执行“set_new_mode param1 param2”。任何其他命令都将被忽略。

所以我希望当客户端通过 ssh 登录时,例如:
ssh user_1@remotehost "set_new_mode param1 param2"

user_1_shell 程序好像被执行了,但是参数字符串好像没有通过。

也许,我应该问,ForceCommand 真的支持这个吗?
如果是的话,关于我如何使它工作的任何建议?

谢谢。

最佳答案

我找到了答案。远程服务器捕获参数字符串并将其保存在“$SSH_ORIGINAL_COMMAND”环境变量中。

关于shell - 将参数传递给 SSH 客户端以执行带参数的 ForceCommand,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5386213/

相关文章:

eclipse - 无法使用Eclipse key 文件

c# - "StandardOut has not been redirected or the process hasn' t started yet”在 C# 中读取控制台命令输出时

python - 使用 Python 子进程为后续 ssh 命令保持 SSH 连接处于事件状态

shell - 在shell脚本中静默安装JDK1.6

php - 如何在 Unix/Linux 中为文件夹中的所有文件添加 .xml 扩展名

linux - cat 的选项 3 无效

sql - 如何在 SQLite 中转换 Unix 纪元时间

linux - 并行运行 shell 脚本循环

linux - 为什么 WHICH 命令没有给出预期的路径?

regex - 向字符类alnum添加特殊符号