python远程执行linux命令
时间: 2023-08-28 08:06:08 浏览: 58
可以使用paramiko库来实现Python远程执行Linux命令。首先需要使用paramiko库建立一个SSH连接,然后发送需要执行的Linux命令,并获取执行结果。
以下是示例代码:
``` python
import paramiko
# 远程Linux服务器的IP地址
hostname = '192.168.1.100'
# 远程Linux服务器的登录用户名和密码
username = 'user'
password = 'passwd'
# 建立SSH连接
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname, 22, username, password)
# 执行Linux命令
stdin, stdout, stderr = ssh.exec_command('ls')
# 获取命令输出结果
result = stdout.read().decode()
print(result)
# 关闭SSH连接
ssh.close()
```
请注意,以上示例只能执行简单的命令,如果需要执行复杂的命令或在远程服务器上执行Python脚本,可以使用类似于Fabric的工具,这可以在Python中更方便地编写和执行远程命令。
相关问题
python远程控制linux
Python可以通过多种方式实现远程控制Linux系统。其中一种方式是使用SSH(Secure Shell)协议进行连接和操作。SSH是一种加密的网络协议,可以安全地远程登录和执行命令。
在Python中,可以使用paramiko库来实现SSH连接和操作。Paramiko是一个用于SSHv2协议的Python实现,可以在Python中进行SSH连接、执行命令、上传和下载文件等操作。
另外,还可以使用fabric库来简化远程操作。Fabric是一个基于Python的库,提供了一组高级API,可以轻松地执行远程命令、上传和下载文件等操作。
总结起来,如果你想使用Python远程控制Linux系统,可以使用paramiko库或fabric库来实现SSH连接和操作。这样你就可以在Windows系统下使用Python来远程登录和操作Linux系统了。[1][3]
Windows通过python远程连接Linux的方法
在 Windows 上通过 Python 远程连接 Linux 有多种方式,下面介绍两种比较常用的方式。
1. 使用 Paramiko 模块
Paramiko 是一个 Python 实现的 SSH 协议库,可以用来实现 SSH 客户端和服务器端的功能。以下是在 Windows 上使用 Paramiko 连接 Linux 的示例代码:
```python
import paramiko
# 创建 SSH 客户端
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接 Linux 服务器
ssh.connect('192.168.1.100', username='username', password='password')
# 执行命令
stdin, stdout, stderr = ssh.exec_command('ls')
# 获取命令输出
output = stdout.read().decode('utf-8')
# 关闭连接
ssh.close()
```
2. 使用 Fabric 模块
Fabric 是一个基于 Paramiko 的远程执行命令工具,可以用来批量执行命令、上传下载文件等操作。以下是在 Windows 上使用 Fabric 连接 Linux 的示例代码:
```python
from fabric import Connection
# 创建 SSH 连接
conn = Connection('192.168.1.100', user='username', connect_kwargs={'password': 'password'})
# 执行命令
result = conn.run('ls', hide=True)
# 获取命令输出
output = result.stdout.strip()
# 关闭连接
conn.close()
```
以上两种方式都需要在 Windows 上安装相关模块,可以通过 `pip install paramiko` 或 `pip install fabric` 命令进行安装。此外,还需要在 Linux 服务器上开启 SSH 服务。