当前位置: 首页 > news >正文

paramiko模块介绍

一、介绍
Paramiko 是 Python 中用于实现 SSH 远程登录 和 SFTP 文件传输 的核心模块,简单说就是 “用 Python 代码代替手动敲 SSH 命令”, 比如远程执行服务器命令、上传 / 下载文件 核心功能: 1. SSH 远程执行命令(比如 ls、mkdir、python run.py); 2. SFTP 上传 / 下载文件(比 scp 命令更灵活); 3. 支持密钥登录(比密码登录更安全)。

安装:pip install paramiko

二、功能介绍
2.1、ssh远程连接
# 导入 paramiko 模块
import paramiko# 1. 创建 SSH 客户端对象
ssh = paramiko.SSHClient()try:# 2. 首次连接服务器时,SSH 会提示 “是否信任该主机”,这行代码让 Python 自动信任,不用手动确认ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 3. 连接服务器(核心参数)ssh.connect(hostname='你的服务器IP',  # 比如 192.168.1.100port=22,                 # SSH 默认端口是 22,不用改username='服务器用户名',  # 比如 root、ubuntupassword='服务器密码'     # 你的服务器登录密码)# 4. 执行远程命令(比如查看服务器当前目录文件)# exec_command 返回 3 个文件对象:标准输入、标准输出、标准错误stdin, stdout, stderr = ssh.exec_command('ls -l')如果是多条命令:# 拼接多条命令:&& 表示前一条成功才执行后一条;; 表示不管前一条是否成功都执行cmd = 'cd /home/ubuntu && mkdir test_dir && ls -l'stdin, stdout, stderr = ssh.exec_command(cmd)# 5. 读取执行结果(stdout 是正确输出,stderr 是错误输出)# 解码:把字节转成字符串,指定编码(服务器一般是 utf-8)result = stdout.read().decode('utf-8')error = stderr.read().decode('utf-8')# 6. 打印结果if result:print("命令执行成功,结果:")print(result)if error:print("命令执行出错,错误信息:")print(error)except Exception as e:# 捕获所有异常(比如连接失败、密码错误)print(f"连接/执行命令失败:{e}")finally:# 7. 无论成功失败,最后关闭连接(避免占用资源)ssh.close()
2.2、SFTP 上传 / 下载文件

Paramiko 的 SFTP 功能可以实现 “本地 ↔ 远程服务器” 的文件传输,比 scp 命令更灵活(支持断点续传、批量传输)

# 1、上传文件,本地 -- 》服务器
import paramiko# 1. 先建立 SSH 连接(和之前一样)
transport = paramiko.Transport()
try:# 2. 认证登录transport.connect(hostname='ip', port=22, username='用户名', password='密码')# 3. 创建 SFTP 客户端对象sftp = paramiko.SFTPClient.from_transport(transport)# 4. 上传文件# 参数1:本地文件路径(比如 ./test.txt)# 参数2:服务器保存路径(比如 /home/ubuntu/test.txt)local_path = './test.txt'  # 本地当前目录的 test.txtremote_path = '/home/ubuntu/test.txt'  # 服务器保存路径sftp.put(local_path, remote_path)print(f"文件 {local_path} 上传到 {remote_path} 成功!")except Exception as e:print(f"上传失败:{e}")
finally:# 5. 关闭连接transport.close()# 2、下载文件,远程服务器 -- 》本地
import paramikotransport = paramiko.Transport()
try:transport.connect(hostname='ip', port=22, username='用户名', password='密码')# 下载文件:get(服务器文件路径, 本地保存路径)remote_path = '/home/ubuntu/test.txt'  # 服务器文件local_path = './download_test.txt'    # 本地保存的文件名sftp.get(remote_path, local_path)print(f"文件 {remote_path} 下载到 {local_path} 成功!")except Exception as e:print(f"下载失败:{e}")
finally:transport.close()
三、更安全:密钥登录(替代密码)

生产环境中不建议用密码登录(容易泄露),推荐用 SSH 密钥对登录

# 1、生成 SSH 密钥对(本地),就像Linux ssh远程连接 一样
ssh-keygen -t rsa# 2、把公钥上传到远程服务器
把 id_rsa.pub 里的内容复制到服务器的 ~/.ssh/authorized_keys 文件中# 3、Paramiko 用密钥登录(代码示例)
import paramiko1. 加载本地私钥
private_key = paramiko.RSAKey.from_private_key_file('/Users/你的用户名/.ssh/id_rsa')2. 建立连接
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:ssh.connect(hostname='服务器IP',port=22,username='用户名',pkey=private_key  # 用私钥替代密码)# 执行命令(和之前一样)stdin, stdout, stderr = ssh.exec_command('uname -a')print(stdout.read().decode('utf-8'))
except Exception as e:print(f"登录失败:{e}")
finally:ssh.close()
http://www.jsqmd.com/news/72855/

相关文章:

  • 弹簧机厂家哪家好?2025高性能自动弹簧机厂商实力榜单 - 栗子测评
  • 2025CRPS电源连接器厂家推荐:精准选型,赋能高效供电系 - 栗子测评
  • 2025年光谱仪推荐!国产光纤光谱仪/荧光光谱仪/显微拉曼光谱仪十大品牌厂家盘点! - 品牌推荐大师
  • 2025年12月江苏新沂PC砖、路沿石、透水砖、条纹砖、树池生产厂家顶尖公司综合评估报告 - 2025年11月品牌推荐榜
  • 全自动蒸馏水器/不锈钢蒸馏水器/国产蒸馏水器哪个牌子好/哪家口碑好/哪个厂家好/生产企业推荐 - 品牌推荐大师
  • 东城区离婚律师事务所推荐:本地专业法律服务机构盘点 - 品牌排行榜
  • 2025年12月气动增压泵,气体增压泵,空气增压泵厂家推荐:增压设备行业权威盘点与品质红榜发布​ - 品牌鉴赏师
  • 2025金手指功率连接器厂商推荐:靠谱功率连接器厂家推荐 - 栗子测评
  • 业务人员也能用的 AI 数据分析工具?Aloudata Agent “开箱即用”体验报告
  • 微信管理公司选哪家?无极工作手机凭硬实力成企业首选 - 资讯焦点
  • 2025年上海压缩机厂家选购:高压压缩机、高压空气压缩机、氦气压缩机、氩气压缩机源头厂家行业优质品牌解析 - 海棠依旧大
  • 北京专业打离婚官司的律所怎么选?这些法律服务机构值得关注 - 品牌排行榜
  • 聚焦口碑!2025年12月昆山装修公司TOP8口碑排名 - 资讯焦点
  • 补水啦电解制水:运动后科学补水的精准选择 - 速递信息
  • 2025年100ml/101ml/102ml/103ml水热合成反应釜哪家售后好哪家技术强供货商有哪些?国产替代推荐品牌厂家推荐,供货商靠谱厂家有哪些 - 品牌推荐大师1
  • 国产洁净服/智能无菌服/国内智能化洁净服哪家好?无菌服行业领先企业生产厂家推荐 - 品牌推荐大师
  • 提供研磨处理方案的厂家:破碎仪/研磨仪厂家排行/样品前处理设备品牌推荐 - 品牌推荐大师1
  • 工业洗地机品牌推荐:哪些品牌值得关注? - 品牌排行榜
  • 样品前处理设备厂家:组织研磨仪厂家/冷冻研磨仪品牌推荐/油脂提取设备知名品牌 - 品牌推荐大师1
  • 企业如何利用AgenticHub实现自动化流程管理
  • 电商用什么仓储软件(WMS) 好?行业热门选择解析 - 品牌排行榜
  • Spring Bean 创建(2)
  • 2025 CSS 样式简单总结
  • 国产加氢高压釜/国产氢化釜供货商靠谱厂家有哪些,国产替代推荐品牌厂家推荐,国产加氢高压釜/国产氢化釜哪家售后好哪家技术强供货商有哪些 - 品牌推荐大师1
  • Linux手动创建用户
  • 2025年12月薄膜精馏设备,实验室薄膜精馏设备,工业化薄膜精馏设备厂商推荐,低温分离技术与专利实力测评!​ - 品牌鉴赏师
  • 重温Swift Day1 - Swift类型安全
  • 冷链物流园区用什么仓储软件(WMS) 好 - 品牌排行榜
  • 上架苹果App Store时开发者最容易忽略的15个问题
  • 2025 年木料木材厂家最新推荐榜,聚焦企业技术实力、产品品质与售后保障能力综合评估木料木材倒边机,木料木材开槽机,木料木材倒角机,木料木材截断锯,木料木材堆垛机公司推荐 - 品牌鉴赏师