SSH到pfSense并运行命令

时间:2018-03-07 09:10:48

标签: shell ssh pfsense

如果我ssh到pfSense,我必须选择8来访问shell,然后我可以以root身份运行我的命令。

如果我创建一个新用户,我可以直接ssh到shell,但没有root权限。

我正在尝试编写一个将我登录的脚本,选择选项8,然后运行我的命令。

    $rules="rules information is place in this var. 1n is used for new lines"
    ssh admin@192.168.1.1 << EOF
      printf "8\n"
      printf $rules > /home/rules;
    EOF

此操作失败,不会登录或创建我的文件。

如果我将其更改为:

ssh -tt admin@192.168.1.1 << EOF
  8
  echo -e "$rules" > /home/rules;
  exit
  0
EOF

我已登录,但我的$规则值会回显到屏幕而不是我要创建的新规则文件。

任何人都建议我怎么做?

更新

我通过使用以下方式得到了部分工作: printf "rules" > /home/rules唯一的问题是$rules包含一个未在结果文件中显示的变量。

例如:

$rules="rules information is places in this var.\nis used for new lines\n$additional['rules']['local']";

将被写入文件:

rules information is places in this var.
is used for new lines
['rules']['local']

$additional

之前缺少注意['rules']['local']

我能以任何方式正确地包含它吗? 我已经尝试在$ additional之前添加\,我已经尝试更改var,因此它没有包含在“not”中,然后更新了字符串中的单引号。

每次我最终都会将$ rules中的每一行回显到远程命令行,而不是回到远程文件中。

有什么想法吗? 感谢

1 个答案:

答案 0 :(得分:1)

这就是我所拥有的:

{}

那么,您可以尝试使用大括号// Initializes the `products` service on path `/products` const createService = require('feathers-mongoose'); const createModel = require('../../models/products.model'); const hooks = require('./products.hooks'); module.exports = function (app) { const Model = createModel(app); const paginate = app.get('paginate'); const options = { name: 'products', Model, paginate }; // Initialize our service with any options it requires app.use('/products', createService(options)); // Get our initialized service so that we can register hooks and filters const service = app.service('products'); service.hooks(hooks); }; 吗?

有关此answer

的详情