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)

大家都在看

  • 001 研发同学必学哪些 Linux 命令?

    身为研发同学,Linux 是绕不过去的一个小山包,不是说要掌握的十分精通,在程序员界里做个极客,也不是说要抢了 Devops 同学的饭碗,但至少要做到摆脱对 Linux 命令认知的…

    Linux 2023年5月27日
    091
  • 我懂得了什么

    站在24岁的这个档口,没有学业又没有工作的时刻,前不着村后不着店。我觉得应该要写一些总结,虽然年仅24的我相比老人家总结不出更深刻的道理,但是现在是互联网的时代,获取知识的途径已经…

    Linux 2023年6月6日
    0106
  • haproxy

    haproxy 一.haproxy简介 二.负载均衡 三.haproxy安装 1.yum安装 2.源码安装 2.1 配置文件解析 2.2时间格式 2.3 全局global 2.4 …

    Linux 2023年6月7日
    0114
  • Netty-如何写一个Http服务器

    前言 动机 最近在学习Netty框架,发现Netty是支持Http协议的。加上以前看过Spring-MVC的源码,就想着二者能不能结合一下,整一个简易的web框架(PS:其实不是整…

    Linux 2023年6月7日
    0105
  • redis的事务不是原子性

    Reference: https://blog.csdn.net/u011692780/article/details/81213010 一、事务的四大特性 关系型数据库的事务具有…

    Linux 2023年5月28日
    094
  • Linux特殊权限之suid、sgid、sbit权限

    文件权限管理之特殊命令 一:特殊权限 昨天所学的Linux基本权限为为9个;分别是rwx rwx rwx。但有时会发现系统中会有一些特殊的权限位符号; 例如: Linux系统一共有…

    Linux 2023年5月27日
    0142
  • THE EVOLUTION OF INTELLECTUAL FREEDOM;

    分享几张有趣的图: 1:http://www.cs.cmu.edu/~dskarlat/ 2022-03-03 17:47 2:https://www.zhihu.com/ques…

    Linux 2023年6月14日
    0104
  • Windows下PowerShell监控Keepalived

    一、 背景 某数据库服务器为CentOS,想要监控Keepalived的VIP是否有问题,通过邮件进行报警,但这台机器不能上外网,现在只能在Windows下通过PowerShell…

    Linux 2023年5月28日
    0100
  • 脚本安装lamp

    脚本安装lamp [root@localhost ~]# mkdir lamp [root@localhost ~]# cd lamp/ [root@localhost lamp]…

    Linux 2023年6月6日
    0131
  • 一篇文章Shell脚本快速入门

    Shell脚本基础入门 Bash注释 Bash只支持单行注释,使用 #开头的都被当作注释语句: 整行注释 echo hello world # 行尾注释 通过Bash的一些特性,可…

    Linux 2023年5月28日
    074
  • 实用!这17个运维技巧,收藏起来随时备用~

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    0110
  • Zabbix-(1)安装

    环境: VMware Workstation Pro 16.0 版本 系统 Centos7 …

    Linux 2023年6月13日
    086
  • 用全域安全防范美国NSA对西工大的网络攻击

    上周写的一篇文章《全域安全:一种运行时安全管理模型》,向大家介绍了全域安全管理模型,它是如何在Laxcus分布式操作系统的分布环境下,解决了分布式应用业务的全流程安全管理问题。其中…

    Linux 2023年6月6日
    0107
  • 面试连环炮系列(二十六):什么情况下JVM频繁发生full GC

    什么情况下JVM频繁发生full GC; 在实际项目什么代码导致full GC;线上怎么排查是哪个程序导致的ful GC 1. 什么情况下JVM频繁发生full GC?full g…

    Linux 2023年6月6日
    0127
  • USB转RS232串口应用

    RS232串口是用于数据串行通信传输的标准之一,该标准定义了信号的电气特性和时序、信号的含义以及连接器的物理尺寸和引脚排列。RS232协议规范定义的是DB25接口,实际上大多数RS…

    Linux 2023年6月7日
    0117
  • tcp 连接 time-wait 状态过多问题解释

    前言 两条竖线分别是表示: 主动关闭(active close)的一方 被动关闭(passive close)的一方 网络上类似的图有很多,但是有的细节不够,有的存在误导。有的会把…

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