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开发中取得更多成功!