Python的paramiko模块,基于SSH用于连接远程服务器并执行相关操作; paramiko遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接;
paramiko支持Linux,Solaris, BSD,MacOS X, Windows等平台通过SSH从一个平台连接到另外一个平台;
利用该模块,可以方便的进行ssh连接和sftp协议进行sftp文件传输。

模块使用

1、执行命令 - 用户名+密码

#!/usr/bin/python3
#-*- coding: utf-8 -*-import paramikossh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 允许连接know_hosts中不存在的主机
ssh.connect('10.255.1.42',22,'root','123456')stdin,stdout,stderr = ssh.exec_command("df -Th")
print(stdout.read().decode('utf-8')) # 以utf-8编码对结果进行解码
ssh.close()

结果如下:

/Library/Frameworks/Python.framework/Versions/3.6/bin/python3 /Users/fanhaitao/PycharmProjects/untitled/paramiko模块学习.py
文件系统            类型      容量  已用  可用 已用% 挂载点
/dev/mapper/cl-root xfs       184G  1.7G  182G    1% /
devtmpfs            devtmpfs  3.9G     0  3.9G    0% /dev
tmpfs               tmpfs     3.9G     0  3.9G    0% /dev/shm
tmpfs               tmpfs     3.9G  8.5M  3.9G    1% /run
tmpfs               tmpfs     3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/sda1           xfs      1014M  139M  876M   14% /boot
tmpfs               tmpfs     783M     0  783M    0% /run/user/0Process finished with exit code 0

2、上传或下载文件 - 用户名+密码

2.1 上传文件

#!/usr/bin/python3
#-*- coding: utf-8 -*-import paramiko
import os
import syst = paramiko.Transport(('10.255.1.42',22))
t.connect(username='root',password='123456')
sftp = paramiko.SFTPClient.from_transport(t)
sftp.put('test.py','/root/test.py')
t.close()

结果:

[root@Openshift41 ~]# ll
总用量 20
-rw-------. 1 root root  1591 2月  26 16:21 anaconda-ks.cfg
-rw-r--r--  1 root root 15080 10月  3 2017 epel-release-latest-7.noarch.rpm
[root@Openshift41 ~]# ll
总用量 24
-rw-------. 1 root root  1591 2月  26 16:21 anaconda-ks.cfg
-rw-r--r--  1 root root 15080 10月  3 2017 epel-release-latest-7.noarch.rpm
-rw-r--r--  1 root root   836 4月  28 11:43 test.py

2.2 下载文件

#!/usr/bin/python3
#-*- coding: utf-8 -*-import paramiko
import os
import sys
t = paramiko.Transport(('10.255.1.42',22))
t.connect(username='root',password='123456')
sftp = paramiko.SFTPClient.from_transport(t)
sftp.get('/root/test.py','ceshi.py')
t.close()

结果:

3、执行命令 - 密匙

此处的脚本是在Linux机器上运行的

#!/usr/bin/python3
#-*- coding: utf-8 -*-import paramiko
private_key_path = '/root/.ssh/id_rsa'
key = paramiko.RSAKey.from_private_key_file(private_key_path)ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('10.255.1.42',22,'root',key)
stdin,stdout,stderr = ssh.exec_command('df -Th')
print(stdout.read().decode('utf-8'))
ssh.close()

4、上传或下载文件 - 密匙

# 上传文件
import paramikopravie_key_path = '/root/.ssh/id_rsa'
key = paramiko.RSAKey.from_private_key_file(pravie_key_path)t = paramiko.Transport(('10.255.1.42', 22))
t.connect(username='root', pkey=key)sftp = paramiko.SFTPClient.from_transport(t)
sftp.put('log.log','/tmp/log.log')t.close()# 下载文件
import paramikopravie_key_path = '/root/.ssh/id_rsa'
key = paramiko.RSAKey.from_private_key_file(pravie_key_path)t = paramiko.Transport(('10.255.1.42', 22))
t.connect(username='root', pkey=key)sftp = paramiko.SFTPClient.from_transport(t)
sftp.get('/tmp/log.log', 'log3.log')t.close()

paramiko模块相关推荐

  1. 在Ubuntu 14.04.3上安装python中的paramiko模块

    下面是安装命令 cd /usr/local/src git clone https://github.com/paramiko/paramiko.git cd paramiko sudo easy_i ...

  2. paramiko 模块封装

    paramiko 模块封装 #!/usr/bin/env python #coding=utf-8 import paramiko, getpass,sys,traceback class ssh_u ...

  3. python ssh模块有哪些_Python paramiko模块(实现ssh)

    开发堡垒机之前,先来学习Python的paramiko模块,该模块基于SSH用于连接远程服务器并执行相关操作 安装paramiko模块 pip3 install paramiko 基于用户密码方式 i ...

  4. Linux上安装paramiko模块

    Linux上安装paramiko模块 一.paramiko模块作用 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是pyt ...

  5. python连接linux服务器并使用命令_python基于paramiko模块实现远程连接Linux虚拟机(服务器)并执行指定命令返回输出结果...

    对于开发者来说,windows是我们接触最多的操作系统了,但是Linux是我们必不可少的一项重要技能,很多服务或者应用都需要在Linux下运行,掌握Linux系统的基本使用也是非常重要的,今天有一个需 ...

  6. Python基础 - 第九天 - paramiko模块、进程、线程

    本篇内容: 1.paramiko模块使用 2.进程.线程简介 3.python调用线程的方法 4.join - 等待线程执行 5.守护线程 6.GIL - 全局解释器锁 7.互斥锁 8.信号量 9.事 ...

  7. python paramiko模块中设置执行命令超时值

    经常使用paramiko工具对几百台设备进行管理,但是由于服务器本身或是网络原因,有时返回值回不来,然后程序就看在那里一直等待,这个时候后需要设置一个超时值.paramiko模块中执行命令代码如下: ...

  8. python paramiko模块 远程上传目录文件

    目录 上传目录 上传文件 上传目录 python用paramiko模块默认中只可以上传文件,在网上也没有找到合适的直接上传目录的方法,所以用os.walk方法和paramiko结合写了一个上传目录的方 ...

  9. python ssh模块_windows下python SSH的使用——paramiko模块

    paramiko模块实例. #!/usr/bin/python import paramiko server_ip = '192.168.*.*' server_user = 'your_user' ...

  10. python第四十九天--paramiko模块安装大作战

    准备开始学习:paramiko模块,发现这个模块十分难搞 安装不上 搞了半天,win10 64下 pytyon 3.6 的 paramiko模块 死活安不上,在网上不断的找资料,可是没有用,没有用啊 ...

最新文章

  1. Redis中五大数据结构的底层实现
  2. hadoop写文件 java_写文件 - Hadoop 学习手册_教程_Java开发社区
  3. thinkphp5.1+ 使用 Redis 缓存
  4. OpenKruise v0.8.0 版本:K8s 社区首个规模化镜像预热能力
  5. 05-Flutter移动电商实战-dio基础_引入和简单的Get请求
  6. linux设备资源分配,基于Linux 简化 AMP 配置使其更方便更动态地分配资源
  7. python编写add函数求和_为什么python不利用__iadd__来实现求和和链接运算符?
  8. 127.0.0.0与0.0.0.0的区别
  9. 李彦宏:我从未说过百度“All in AI”,这得怪陆奇
  10. office工具包开源了,使用Excel导入导出非常方便
  11. exchange2010 DAG备份
  12. 0DAY和warez
  13. 3.3 RESET and Initialization Procedure
  14. GNSS-SINEX文件格式简介
  15. 龙泉寺贤超法师:用 AI 为古籍经书识别、断句、翻译
  16. maven项目install报错:\target\surefire-reports for the individual test results
  17. Vue 运行提示“没有注册类”的解决办法
  18. java 数字转换开发票大写格式_Java转化数字为大写人民币
  19. 接上一篇——上海有哪些值得加入的互联网公司
  20. 流行的Go语言web框架简介

热门文章

  1. html阴影效果骰子,王权骰铸第一季摩点更新易村点,没关注的小伙伴可以自己看一下...
  2. 链表上的舞者——舞蹈链(DLX算法)
  3. 基于PSO粒子群优化算法的TSP问题最短路径求解matlab仿真
  4. 交换机光口对通注意事项
  5. 在线php保存图片格式,php 保存flash在线拍照发送过照片
  6. SWFUpload免费FLASH上传组件(ASP…
  7. 追女孩必背的英文甜言蜜语
  8. 22级南京理工大学上岸贴(含复试)
  9. Android驱动开发之陀螺仪(三)
  10. 设置静态路由 不同网段可以互相访问