0基础学习Python路径(41)paramiko模块

2024-09-02 12:04

本文主要是介绍0基础学习Python路径(41)paramiko模块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

paramiko 模块

paramiko 是一个用 Python 语言编写的、遵循 SSH2 协议、支持以加密和认证方式进行连接远程服务器的模块。改模块可以对远程服务器进行一些命令或文件操作。

安装

使用 pip3 安装 paramiko 模块

pip3 install paramiko

连接远程服务器

paramiko 模块连接远程服务器可以使用远程服务器的用户名、密码登录

import paramiko# 创建一个SSHClient对象
ssh = paramiko.SSHClient()
# 将信任的主机加到 host_allow 列表
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect("服务器IP地址", "服务器端口号", "用户名", "密码")

使用命令

在登录远程服务器后,利用 paramiko 模块可以使用 shell 命令操作远程服务器,比如:df 命令、pwd 命令、cat 命令等等...

# 打印磁盘情况
# 执行df命令,结果放到 dfout 中,如果有错误将放到 dferr 中
dfout, dferr = ssh.exec_command('df')
print(dfout.read().decode('utf-8'))# 使用cd、cat命令查看文件内容
# paramiko.txt文件为/root/data/paramiko.txt
catin, catout,caterr = ssh.exec_command('cd data;cat paramiko.txt')
print(catin.read().decode('utf-8'))

在 exec_command 函数中,exec_command 执行的是单个会话,执行完成后会回到登录的缺省目录,多个命令需要 命令1;命令2;命令3 的写法

sftp上传和下载文件

import paramikotransport = paramiko.Transport(("服务器IP地址",服务器端口号))
transport.connect(username = "用户名", password = "密码")
sftp = paramiko.SFTPClient.from_transport(transport)
# 从远程服务器下载文件
# 远程服务器文件路径为/data/paramiko.txt
sftp.get('/data/paramiko.txt', 'paramiko.txt', print("下载完成!"))
# 从本地上传文件到远程服务器
sftp.put('upload_paramiko.txt', '/data/upload_paramiko.txt', print("上传完成!"))

服务器文件修改内容

sftp 对象可以在线修改远程服务器上文件的内容

import paramiko# 登录远程服务器
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect("服务器IP地址",,"服务器端口号","用户名", "密码", timeout=5)
sftp = client.open_sftp()
# 远程服务器文件地址为/data/paramiko.txt
remoteFile = sftp.open("/data/paramiko.txt", 'a')
remoteFile.write("\n");
remoteFile.write("这里是追加的内容!");
remoteFile.close()
sftp.close()

查询文件

使用 sftp 对象获取远程服务器上的文件列表

import paramikoclient = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect("服务器IP地址",,"服务器端口号","用户名", "密码", timeout=5)
sftp = client.open_sftp()
for fileName in sftp.listdir("/root/data"):if fileName.endswith(".txt"):print(fileName)
sftp.close()

这篇关于0基础学习Python路径(41)paramiko模块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1129899

相关文章

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

基于Python构建一个高效词汇表

《基于Python构建一个高效词汇表》在自然语言处理(NLP)领域,构建高效的词汇表是文本预处理的关键步骤,本文将解析一个使用Python实现的n-gram词频统计工具,感兴趣的可以了解下... 目录一、项目背景与目标1.1 技术需求1.2 核心技术栈二、核心代码解析2.1 数据处理函数2.2 数据处理流程

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

使用Python实现base64字符串与图片互转的详细步骤

《使用Python实现base64字符串与图片互转的详细步骤》要将一个Base64编码的字符串转换为图片文件并保存下来,可以使用Python的base64模块来实现,这一过程包括解码Base64字符串... 目录1. 图片编码为 Base64 字符串2. Base64 字符串解码为图片文件3. 示例使用注意

使用Python实现获取屏幕像素颜色值

《使用Python实现获取屏幕像素颜色值》这篇文章主要为大家详细介绍了如何使用Python实现获取屏幕像素颜色值,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、一个小工具,按住F10键,颜色值会跟着显示。完整代码import tkinter as tkimport pyau

python编写朋克风格的天气查询程序

《python编写朋克风格的天气查询程序》这篇文章主要为大家详细介绍了一个基于Python的桌面应用程序,使用了tkinter库来创建图形用户界面并通过requests库调用Open-MeteoAPI... 目录工具介绍工具使用说明python脚本内容如何运行脚本工具介绍这个天气查询工具是一个基于 Pyt

Python FastMCP构建MCP服务端与客户端的详细步骤

《PythonFastMCP构建MCP服务端与客户端的详细步骤》MCP(Multi-ClientProtocol)是一种用于构建可扩展服务的通信协议框架,本文将使用FastMCP搭建一个支持St... 目录简介环境准备服务端实现(server.py)客户端实现(client.py)运行效果扩展方向常见问题结

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化: