gpt4 book ai didi

python - 从 Ubuntu 远程连接到 Windows

转载 作者:可可西里 更新时间:2023-11-01 10:42:16 28 4
gpt4 key购买 nike

我有一个在本地计算机上的 Ubuntu 中运行的 Python 程序。在程序的某个时刻,我连接到两台远程机器:一台运行 Ubuntu,另一台运行 Windows。我有连接到这些机器的 IP 地址、名称和密码。本地机器向远程机器发送命令,远程机器发送响应。现在我只是想让远程机器回显“你好”回本地机器。我可以使用以下命令从本地机器的命令行远程访问这两台机器:

sshpass -p password ssh -X name@ipaddress

其中密码名称ip 地址 已正确填写每台机器。所以我知道我可以远程访问两台机器。从那里我可以运行任何命令,就好像我在本地那台机器上一样。

但是,我想在发送简单的 echo 'hello' 指令时从我的程序中执行此操作。我可以使用以下命令通过远程 Ubuntu 服务器成功完成此操作:

from subprocess import Popen, PIPE
cmd = ["sshpass", "-p", password, "ssh", "-X", name+"@"+ipaddress, "echo 'hello'"]
ssh = Popen(cmd, stdout=PIPE, stderr=PIPE)
print ssh.stdout.readlines()

密码名称ipaddress 是此时已定义的变量。这适用于 Ubuntu 远程服务器,它返回以下列表:

['hello\n']

这很好,但是当我在 Windows 服务器上尝试同样的操作时,我得到一个空列表:

[]

我尝试了各种命令,但总是得到一个空列表。连接到 Windows 服务器时,我还需要做其他事情吗?先感谢您。

我查看了标准错误,其中包括以下列表:

['X11 forwarding request failed on channel 0\r\n', 'exec request failed on channel 0\r\n']

当我不包含 -X 标签时,我只会得到第二个错误:

['exec request failed on channel 0\r\n']

最佳答案

目标机器很可能没有安装类似 Linux 的命令。安装类似 Cygwin 的东西在 Windows 机器上。

关于python - 从 Ubuntu 远程连接到 Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46532349/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com