python - 如何使用 python 从 Linux/Windows 机器在远程 Linux/Windows 机器上执行命令?

标签 python linux windows ssh

我有两台机器,AB。两台机器都可以是 Windows 或 Linux 机器,但为了简单起见,我事先知道哪一台是哪一台。我还知道远程计算机 B 的用户名和密码(没有其他身份验证方法)。所以我有四种可能的组合:

A=Windows  B=Windows
A=Windows  B=Linux
A=Linux    B=Windows
A=Linux    B=Linux

我正在寻找一个小的Python脚本(或者更好:标准库),可以使用它从AB上执行远程命令。准确地说:在机器 A 上,我启动一个 python 脚本来在远程机器 B 上运行一些命令 cmd 。在 python 中是否有通用的方法来执行此操作?

对于 Linux->Linux 组合,我可以考虑使用 sshsubprocess,但我可能会遇到用户名/密码身份验证问题。

对于 Windows->Windows 组合,有一个名为 psservice 的工具,我已经在使用它(与子进程一起使用)。

知道如何以最Pythonic的方式解决这个问题吗?不需要是一种功能,可以通过四种不同的方式来实现。并且,如果可能的话,不使用第三方库(这有点不一致,因为 psservice 已经是我正在使用的第三方库......)。

最佳答案

我建议使用 ssh/sftp,通过 paramiko图书馆。

支持所有主要密码和哈希方法。也支持SFTP客户端和服务器模式。

而且它是跨平台的。

关于python - 如何使用 python 从 Linux/Windows 机器在远程 Linux/Windows 机器上执行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27064191/

相关文章:

python - 蛇形歧义

python - 对 Python 脚本所做的更改是否会影响对同一文件进行的另一次运行?

windows - 使用bat脚本删除除一个文件循环外的所有文件

python - 如何使用 gitlab-ci 管理相互依赖的轮子的测试/构建

python - 装饰类的方法导致 2.7 中的未绑定(bind)方法 TypeError

java - UTF-8 字符编码在控制台 (Linux) 上不起作用

php - 羊群:-c 只需要一个命令参数

windows - 为 Microsoft Windows 编写内核的基本要求是什么

windows - 将字符串替换为多个文件的批处理

python - 如何在Windows中获取物理驱动器