有没有办法在用python-paramiko建立的ssh shell中执行rootsh?

时间:2019-04-29 12:17:44

标签: python linux ssh

我有一个第三方应用程序(在定制的Linux构建上运行)。我可以通过ssh客户端控制应用程序。为了执行命令,我需要运行rootsh(这是必需的,不能绕过)。所以我通常的工作流程如下:

  1. 通过腻子连接
  2. 运行“ sudo rootsh”输入密码
  3. 执行我想要的命令

现在,我正在尝试使某些过程自动化并在我的应用程序中包含一些命令。第三方应用程序没有api,因此这是我与之通信的唯一方法。 我可以通过python-paramiko连接而不会出现问题。但是我在sudo rootsh之后运行命令时,它不会在rootshell中执行命令,而是在我的“基本” shell中执行命令,而该shell无法控制应用程序。

double UnitAmt = double.Parse(TextboxunitAmt.Text);
string UnitQty = TextboxunitQty.Text.ToString();

int Qty = int.Parse(UnitQty);
double GrandTotal = Convert.ToDouble(UnitAmt) * Convert.ToDouble(Qty);

TextboxCostPrice.Text = GrandTotal.ToString();

两张照片都显示相同的结果。通过在腻子外壳中输入相同的命令,我得到了不同的结果,因为在“ sudo rootsh”之后,“ cd”将我重定向到根目录,但没有重定向到该目录。

根据我的理解和测试,rootshell是Shell中的另一个会话,因此我的程序不会将stdin和stdout重定向到rootshell。

是否有将我的输入和输出重新分配到rootshell的方法,或者其他可以通过pyton登录到rootshell的方法?

0 个答案:

没有答案