Python之–paramiko实例

一.基于SFTPClient类连接sshd服务器:

特点: 一般用于实现对远程服务器的上传, 下载和对远程目录文件的操作

1 import pramiko
 2
 3 hostname = '172.24.0.110'
 4 username = 'carl'
 5 password = '321123'
 6 port = 22
 7 remote_dir = '/data/sftp/'
 8 local_dir = '/data/DownloadData'
 9 try:
10     trans = paramiko.Transport((host, port))
11     trans.connect(username=username, password=password)
12     sftp = paramiko.SFTPClient.from_transport(trans)
13     # 下载文件
14     sftp.get(remote_dir, local_dir)
15     #上传文件
16     sftp.put(remote_dir, local_dir)
17     # 打印目录列表
18     print(sftp.listdir('/home'))
19 except Exception e:
20     print(str(e))

二.通过SSHClient类连接

特点: SSHClient类是SSH服务会话的高级表示,封装了传输、通道以及SFTPClient的校验、建立方法,通常用于执行命令

1 import paramiko
 2 hostname = '172.24.0.110'
 3 username = 'carl'
 4 password = '321123'
 5 # 创建一个SSH客户端client对象
 6 ssh = paramiko.SSHClient()
 7 # 获取客户端host_keys,默认~/.ssh/known_hosts, 非默认路径需指定
 8 ssh.load_host_keys()
 9 # 创建ssh连接
10 ssh.connect(hostname=hostname, username=username, password = password)
11 # 调用远程执行命令的方法
12 stdin, stdout, stderr = ssh.exec_command('cd /data/sftp')
13 # 打印命令执行结果, 得到python列表形式
14 # print(stdout.read())
15 print(stdout.readlines())
16 # 关闭ssh连接
17 ssh.close()

github地址: https://github.com/haha479/Note/blob/master/learning_module/ftplibAndparamiko.txt

Original: https://www.cnblogs.com/self479/p/9244084.html
Author: yiSiNing479
Title: Python之–paramiko实例

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/577649/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 逆波兰表达式

    运用lambda表达式和包装器 150. 逆波兰表达式求值 – 力扣(LeetCode) class Solution { public: int evalRPN(ve…

    Linux 2023年6月13日
    0119
  • linux系统(centos)redis分片集群安装部署

    redis分片集群安装与部署 只需更改配置文件 部署架构:6个节点,3主3从。数据集分为3片,分别再A,B,C节点上。A1和B1和C1分别为A,B,C的副本。 散列槽: ​ Red…

    Linux 2023年6月8日
    098
  • lvs负载均衡

    Lvs 一.Lvs简介 二. 体系结构 三. Lvs管理工具 1. ipvs 2. ipvsadm 四.lvs工作模式及原理 1.NAT模式 2. DR模式 3.TUN模式(隧道模…

    Linux 2023年6月7日
    0130
  • 016 Linux 卧槽,看懂进程信息也不难嘛?top、ps

    1 扒开看看 top 命令参数详情 第一行,[top – ]任务队列信息 第二行,[Tasks] 任务(进程) 第三行,[Cpu(s)]状态信息 第四行,[Mem]内存…

    Linux 2023年5月27日
    0126
  • Servlet 学习总结

    Servlet学习笔记 Servlet学习 学习视频为:https://www.bilibili.com/video/BV1Ta4y1H7Vc IDEA的使用 IDEA的简介 ID…

    Linux 2023年6月7日
    069
  • 【XML】学习笔记第二章-dtd

    XML-DTD DTD语句 基本声明语句 引用外部DTD DTD元素 四种元素类型 元素定义关键字 修饰符号 DTD中的属性 属性修饰 属性类型 DTD中的实体和符号 符号 坑 X…

    Linux 2023年6月14日
    0124
  • 那些技术实战中的架构设计方法

    上个月我写的一篇文章《关于技术能力的思考和总结》引起了大家的关注,好多读者的评论”以写代想、以想促真、以讲验真”,大家的感受很深刻,基于上次的文章,这篇文章…

    Linux 2023年6月8日
    090
  • Linux安装mysql8.0

    MySQL 配置MySQL8安装源 sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3….

    Linux 2023年6月6日
    0103
  • zabbix自定义监控进程与日志

    zabbix自定义监控进程与日志 zabbix自定义监控进程与日志 zabbix自定义监控进程 zabbix自定义监控日志 zabbix自定义监控进程 现在我们需要监控客户端的某一…

    Linux 2023年6月13日
    0127
  • 爱快在PVE下不定时反复重启死机的解决方法

    太长不看版本: 爱快3.6.X在PVE乃至于ESXI下都存在一定的兼容问题 ! 详细情况: 如题,使用爱快版本为3.6.3 x64 Build20220407113364,底层虚拟…

    Linux 2023年6月13日
    0183
  • Linux虚拟机上按安装jdk1.8.0

    Linux虚拟机上按安装jdk1.8.0 1.准备工作 jdk1.8.0下载地址: http://www.oracle.com/technetwork/java/javase/do…

    Linux 2023年6月11日
    087
  • Linux中CentOS 7的安装及Linux常用命令

    前言 什么是Linux Linux是一套免费使用和自由传播的操作系统。说到操作系统,大家比较熟知的应该就是Windows和MacOS操作系统,我们今天所学习的Linux也是一款操作…

    Linux 2023年6月6日
    0143
  • Cisco 7200 路由 PPPOE 拨号详解

    R1(config)#vpdn enable #启用vpdn虚拟专用拨号网络 R1(config)#interface dialer 1 #定义拨号器1 R1(config-if)…

    Linux 2023年6月6日
    096
  • 博客园装饰——(二)滚动到页面顶部或底部

    功能描述: 1. 当页面向下滚动一定距离时,向下滚动到底部的按钮以淡入的效果出现,并以固定定位显示。且滚动到一定距离(快接近所设置的底部)时,该按钮又会以淡出效果消失。 2. 当页…

    Linux 2023年6月14日
    096
  • 缓冲区溢出二:从缓冲区溢出到获取反弹shell实例

    一、说明 之前写过一篇”缓冲区溢出一:函数调用过程中的堆栈变化及缓冲区溢出利用原理“,道理讲得还可以,但现在看还是需要一个示例来讲解从攻击角度如何实现返回地…

    Linux 2023年5月28日
    0114
  • 使用 Spring Boot Admin 监控应用状态

    1 Spring Boot Actuator Spring Boot Actuator 是 Spring Boot 提供的对应用的自省和监控功能,如健康检查,审计,指标收集,HTT…

    Linux 2023年6月7日
    0106
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球