Python建立SSH连接后执行命令并获得结果

作为一名经验丰富的开发者,我将教会你如何在Python中建立SSH连接后执行命令并获取结果。这对于自动化管理远程服务器非常有用。

流程概述

首先,让我们看一下整个流程的步骤:

步骤 描述
1 建立SSH连接
2 执行命令
3 获取执行结果

具体步骤

步骤 1: 建立SSH连接

使用Paramiko库来建立SSH连接。Paramiko是一个用于SSH协议的Python实现。

import paramiko

# 创建SSH客户端
ssh_client = paramiko.SSHClient()

# 允许连接不在known_hosts文件中的主机
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接服务器
ssh_client.connect(hostname='your_hostname', username='your_username', password='your_password')

步骤 2: 执行命令

使用SSH连接对象的exec_command方法执行命令。

# 执行命令
stdin, stdout, stderr = ssh_client.exec_command('your_command')

步骤 3: 获取执行结果

通过stdout获取执行结果。

# 获取执行结果
output = stdout.read().decode()
print(output)

示例代码

下面是一个完整的示例代码:

import paramiko

# 创建SSH客户端
ssh_client = paramiko.SSHClient()

# 允许连接不在known_hosts文件中的主机
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接服务器
ssh_client.connect(hostname='your_hostname', username='your_username', password='your_password')

# 执行命令
stdin, stdout, stderr = ssh_client.exec_command('your_command')

# 获取执行结果
output = stdout.read().decode()
print(output)

# 关闭连接
ssh_client.close()

序列图

sequenceDiagram
    participant You
    participant Server
    You->>Server: 建立SSH连接
    You->>Server: 执行命令
    Server-->>You: 返回执行结果

饼状图

pie
    title 命令执行结果分布
    "成功" : 70
    "失败" : 30

通过以上步骤和示例代码,你应该可以成功建立SSH连接,执行命令并获取结果了。祝你在Python开发中取得更多成功!