paramiko 使用教程

文章目录

    • 1.简介
    • 2.安装 Paramiko
    • 3.连接到远程服务器
    • 4.执行远程命令
    • 5.传输文件
    • 6.错误处理

1.简介

Paramiko 是一个基于 Python 的 SSH 客户端库,它提供了在网络上安全传输文件和执行远程命令的功能。本教程将介绍 Paramiko 的基本用法,包括连接到远程服务器、执行命令、传输文件等常见操作。

2.安装 Paramiko

在开始之前,确保已经安装了 Python,并使用以下命令安装 Paramiko:

pip install paramiko

3.连接到远程服务器

首先,导入 Paramiko 库并创建一个 SSHClient 对象:

import paramiko

ssh = paramiko.SSHClient()

接下来,设置自动添加远程服务器的主机密钥:

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

然后,使用 connect() 方法连接到远程服务器:

ssh.connect(hostname, port, username, password)

4.执行远程命令

使用 exec_command() 方法执行远程命令,并获取输入、输出和错误流:

stdin, stdout, stderr = ssh.exec_command(command)

可以使用 stdout.readlines() 读取输出结果:

output = stdout.readlines()

5.传输文件

使用 SFTPClient 类进行文件传输操作。首先,创建一个 SFTPClient 对象:

sftp = ssh.open_sftp()

然后,使用 put() 和 get() 方法上传和下载文件:

sftp.put(local_path, remote_path)
sftp.get(remote_path, local_path)

6.错误处理

在使用 Paramiko 过程中,可能会遇到各种错误。为了捕获和处理这些错误,建议使用 try-except 块来包围 Paramiko 相关的代码,并使用 SSHException 或其他适当的异常进行处理。

完整示例代码:

import paramiko

# 创建 SSHClient 对象
ssh = paramiko.SSHClient()

# 设置自动添加主机密钥
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接到远程服务器
ssh.connect(hostname, port, username, password)

# 执行远程命令
stdin, stdout, stderr = ssh.exec_command('ls')
output = stdout.readlines()
print(output)

# 传输文件
sftp = ssh.open_sftp()
sftp.put(local_path, remote_path)
sftp.get(remote_path, local_path)

# 关闭连接
sftp.close()
ssh.close()

你可能感兴趣的:(Python,python,ssh,linux)