【问题标题】:Send commands to a remote ssh server from my website form从我的网站表单向远程 ssh 服务器发送命令
【发布时间】:2020-05-16 10:51:20
【问题描述】:

我想创建一个用户可以填写表格的网站,

然后我将这些参数发送到远程 ssh 服务器以发出 python 脚本。

例如,在我的网页中,表单包含输入文本,para1,para2,para3等。

用户点击提交后,应该可以向远程ssh服务器终端发送命令“python para1, para2, para3,.....”

我需要什么样的技术来解决这个问题??

谢谢。

【问题讨论】:

  • 您使用的是什么网络框架?通常,您会为这样的事情使用后台作业。 python的主要后台作业系统是celery

标签: python html ssh server


【解决方案1】:

您可以使用 Flask Framework 创建 Web 应用程序,然后使用 Paramiko 模块将 Python 脚本与 SSH 服务器连接并执行 来自本地机器的命令。您的 python 脚本将充当 SSH 客户。

查看此链接,该链接显示了使用 Python 和 Flask 框架创建 Web 应用程序的步骤: https://code.tutsplus.com/tutorials/creating-a-web-app-from-scratch-using-python-flask-and-mysql--cms-22972

Web 应用程序示例:
对于您的简单表格,您可以更新主页和注册页面以获取 形成参数并使用这些参数将命令传递给 SSH 服务器。

请在下面找到 Paramiko 的链接和一个显示示例的链接。设置 Paramiko 真的很容易。

try:
    client = paramiko.SSHClient()
    client.load_system_host_keys()
    client.set_missing_host_key_policy(paramiko.WarningPolicy)

    client.connect(hostname, port=port, username=username, password=password)

    stdin, stdout, stderr = client.exec_command(command)
    print stdout.read(),

finally:
    client.close()

这里,主机名是 SSH 服务器,用户名和密码是您通常用来连接 SSH 服务器的用户名和密码。

帕拉米科 - http://docs.paramiko.org/en/stable/
示例 - https://gist.github.com/mlafeldt/841944

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-04
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    • 1970-01-01
    • 2013-10-12
    相关资源
    最近更新 更多