Python - 从 tkinter 脚本连接到远程主机

Python - Connect to a remote host from tkinter Script

我正在编写一个 tkinter 脚本,它接受来自 UI 的 linux 命令。单击提交按钮后,我想 运行 我从远程 linux 服务器上的 UI 获得的命令,并收集输出并显示在 Tkinter window 上.

关于 tkinter 部分,我做得很好。问题是当我想在远程服务器上执行此命令并收集输出时。 我将在 Conda

的虚拟环境中 运行ning 我的程序

在对 google 的一项小型研究中,我看到的最常见的解决方案是使用织物,如此处所示 link 我看到的其他解决方案是使用 plink 和 popen。

但我不清楚我将在哪里提到使用上述任何解决方案连接到远程服务器的主机名和密码。我将如何发送我的命令并将输出接收回我的 tkinter 流程​​。如果我执行的命令由于某种原因失败了,有什么方法可以让我理解?

如有任何帮助,我们将不胜感激!提前致谢

您想使用 host_string 动态指定目标是什么。在执行命令之前更改它。

例如:

from fabric.api import run, env

env.host_string = 'user@host.com'

def ls():
    run("ls")

所以我找到了我正在寻找的解决方案..可能是我没有正确阅读我之前浏览过的文档.. 这里是

def connect():
    print "starting to connect"
    env.host_string = 'vpnuser@10.0.0.70'
    env.password = "vpnuser "
    run("ls -lrth")

将其放入 fabfile.py 文件中 运行 像这样 fab -a 连接

就是这样!