Python SSH 交互:使用 paramiko 库
2024.02.23 04:42浏览量:6简介:使用 paramiko 库在 Python 中实现 SSH 交互,包括登录服务器、执行命令、上传和下载文件等功能。
千帆应用开发平台“智能体Pro”全新上线 限时免费体验
面向慢思考场景,支持低代码配置的方式创建“智能体Pro”应用
在 Python 中,可以使用 paramiko 库实现 SSH 交互。Paramiko 是一个用于 SSHv2 协议的纯 Python 实现,可以用于连接远程服务器并执行命令、上传和下载文件等操作。
下面是一个简单的示例,演示如何使用 paramiko 库连接到远程服务器并执行命令:
import paramiko
# 创建 SSH 客户端对象
ssh = paramiko.SSHClient()
# 自动添加服务器的 SSH 密钥
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接远程服务器
ssh.connect('remote_host', username='username', password='password')
# 执行命令
stdin, stdout, stderr = ssh.exec_command('ls')
# 打印命令输出
print(stdout.read().decode())
# 关闭 SSH 连接
ssh.close()
在这个示例中,首先创建了一个 SSH 客户端对象,并设置了一个策略,用于自动添加服务器的 SSH 密钥。然后使用 connect()
方法连接到远程服务器,并指定用户名和密码。接下来,使用 exec_command()
方法执行 ls
命令,并将标准输出和标准错误保存到 stdin
、stdout
和 stderr
变量中。最后,打印命令输出并关闭 SSH 连接。
除了执行命令之外,paramiko 还提供了其他功能,例如上传和下载文件。下面是一个示例,演示如何使用 paramiko 上传文件:
import paramiko
# 创建 SSH 客户端对象
ssh = paramiko.SSHClient()
# 自动添加服务器的 SSH 密钥
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接远程服务器
ssh.connect('remote_host', username='username', password='password')
# 上传文件
sftp = ssh.open_sftp()
sftp.put('local_file', 'remote_file')
sftp.close()
# 关闭 SSH 连接
ssh.close()
在这个示例中,首先创建了一个 SSH 客户端对象,并设置了一个策略,用于自动添加服务器的 SSH 密钥。然后使用 connect()
方法连接到远程服务器。接下来,使用 open_sftp()
方法打开 SFTP(SSH 文件传输协议)连接,并使用 put()
方法将本地文件上传到远程服务器。最后,关闭 SFTP 连接和 SSH 连接。
需要注意的是,在使用 paramiko 进行 SSH 交互时,应该确保远程服务器的 SSH 服务已经正确配置,并且 Python 环境已经安装了 paramiko 库。另外,对于敏感信息(如密码),应该采取适当的加密和安全措施。

发表评论
登录后可评论,请前往 登录 或 注册