1

我必须在远程主机上执行一些命令,这个主机将是一个“路由器”。我从来没有做过 RPC 调用的工作。另一个大问题是我必须从基于DjangoWeb 的应用程序执行这些命令。步骤如下:

  • 用户打开一个页面并选择一个命令来执行
  • 用户从给定列表中选择远程主机
  • 用户点击执行按钮
  • 同时 Django 将检查安全问题。这意味着它将授权远程主机使用SSH
  • 并在主机上执行所需的命令并发回一条消息"Done!"

我应该如何开始解决这个问题?

我应该如何创建从用户配置文件页面到远程主机的 SSH 连接?

出于安全原因,我想使用用户私钥创建连接。我也找到了一些相关的问题,但没有找到正确的方向:)

4

1 回答 1

2

你应该从paramiko库开始,它没有那么难的 api。还有一些与库捆绑在一起的示例。

您可以创建ssh 客户端,在构造函数中传递主机名、端口、用户名和用户密钥文件,创建 shell运行命令并读取命令输出,仅标准输出。您可以单独阅读 stderr ,也可以其与 stdout 结合使用。

于 2012-08-06T09:06:42.990 回答