• Python之paramiko模块


    今天我们来了解一下python的paramiko模块

    paramiko是python基于SSH用于远程服务器并执行相应的操作。

    我们先在windows下安装paramiko

    1.cmd下用pip安装paramiko(python的版本用的anaconda的3.6,自带pip)

    pip install paramiko

    试一下,安装成功

    但是这个时候在ide里运行是有问题的,因为Python中使用SSH需要用到OpenSSH,而OpenSSH依赖于paramiko模块,而paramiko模块又依赖于pycrypto模块,因此要在Python中使用SSH。所以我们需要先安装pycrypto工具,然后再安装paramiko模块才能使用。

    但是pycrypto已经停止了对3.2以上版本python的支持,怎么办?

    这时候可以查到一个新的模块,pycryptodome,该模块支持3.6以上版本的python。直接用pip安装

    pip install pycryptodome

    安装完成,就可以正常使用使用paramiko模块了

    先做一个最基础的ssh客户端

     1 import paramiko
     2 ssh = paramiko.SSHClient()
     3 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
     4 ssh.connect(hostname='192.168.233.129',port=22,username='root',password='aaronchang')
     5 while True:
     6     cmd = input('>>>')
     7     if len(cmd) == 0:continue
     8     stdin,stdout,stderr = ssh.exec_command(cmd)
     9     res,err = stdout.read(),stderr.read()
    10     result = res if res else err
    11     print(result.decode())
    12 ssh.close()
    View Code

    从这里就可以当作连虚拟机里的linux了!但要注意的一点:输入的指令必须是有返回值的并且不能是top这种不停刷新的指令(top -bn1还是可以的!!)。

    然后我们可以在python里用paramiko做一个sftp了!

    1 import paramiko
    2 transport = paramiko.Transport('IP',port)
    3 transport.connect(username='这里填Linux的用户名',password='填用户的登陆密码')
    4 sftp = paramiko.SFTPClient.from_transport(transport)#实力和sftp的客户端
    5 sftp.put(r'D:123.txt','/windowsfile/test') #上传文件sftp.put(要上传的文件,目标路径)
    6 sftp.get('/windowsfile/from_linux.txt','test2')#下载文件sftp.get(要get的文件的路径,本地路径)
    paramiko_sftp
  • 相关阅读:
    【知识整理】这可能是最好的性能优化教程(一)
    【工作感悟】Android 开发者,如何提升自己的职场竞争力?
    MySql 主从复制
    MyCat 介绍、分片规则、调优的内容收集
    MyCat 安装部署,实现数据库分片存储
    [转]Activemq管理和基本介绍
    [转]ActiveMQ 即时通讯服务 浅析
    Redis 3.0集群 Window搭建方案
    【转】史上最全的“大数据”学习资源整理
    【转】【漫画解读】HDFS存储原理
  • 原文地址:https://www.cnblogs.com/yinsedeyinse/p/10280187.html
Copyright © 2020-2023  润新知