zoukankan      html  css  js  c++  java
  • Python-paramiko模块简单应用(给服务器上传文件或下载文件)

     应用一:连接远程机执行bash命令

    import paramiko#此模块用于连接虚拟机,ansible底层用此模块
    hostname = '192.168.254.24'
    port = 22
    username = 'root'
    password = 'root'
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#忽略know_hosts文件
    ssh.connect(hostname=hostname,port=port,username=username,password=password)
    while True:
        cmd = input('====>:')
        stdin, stdout, stderr = ssh.exec_command(cmd)
        print(stdout.read().decode('utf-8'))
    或
    import paramiko
    gannimeide = paramiko.SSHClient()
    gannimeide.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    gannimeide.connect('192.168.206.140',22,'root','123456')
    # stdin, stdout, stderr = gannimeide.exec_command('ls')#执行单个bash命令
    # print(stdout.read().decode('utf-8'))
    while True:
        cmd = input('===>:')
        stdin, stdout, stderr = gannimeide.exec_command(cmd)
        print(stdout.read().decode('utf-8'))

    应用二:连接远程机上传下载文件

    import paramiko
    hostname = '192.168.206.140'
    port = 22
    username = 'root'
    password = '123456'
    t=paramiko.Transport((hostname,port))#ftp
    t.connect(username=username,password=password)
    sftp = paramiko.SFTPClient.from_transport(t)
    sftp.put(r'C:UsersyhyDesktop1.txt', '/root/chedan')
    sftp.get('/root/chedan',r'C:UsersyhyDesktopmade.txt' )
    sftp.close()
    或
    import paramiko
    nimei = paramiko.Transport(('192.168.206.140',22))
    nimei.connect(username='root',password='123456')
    p = paramiko.SFTPClient.from_transport(nimei)
    p.put(r'C:UsersyhyDesktop1.txt', '/root/chedan2')#上传文件到远程机
    p.get('/root/chedan2', r'C:UsersyhyDesktopmade.txt')#从远程机上下载
    p.close()
    import paramiko
    hostname = '172.16.0.136'  #服务器ip
    port = 22
    username = 'root'    #服务器用户名
    password = '123456'   #服务器用户登录密码
    t = paramiko.Transport((hostname,port))
    t.connect(username=username,password=password)
    sftp = paramiko.SFTPClient.from_transport(t)
    sftp.put(r'G:宏福课件lnmp1.5-full.tar.gz', '/root/lnmp1.5-full.tar.gz')
    sftp.close()
  • 相关阅读:
    爬虫实战篇(模拟登录)---我们以模拟去哪儿网为例
    requests库详解
    爬取拉钩网职位信息写入mongodb数据库(小白学爬虫--实战篇1)
    《Vue项目关于i18n双语切换》
    《Vue+Vuetify》
    《Vue项目的创建以及初始化(两种方法)》
    《关于Vue的涟漪点击》
    《Vue的父子组件传值》
    《vue 页面进出类似APP的滑动效果》
    《Vue里的路由拦截》
  • 原文地址:https://www.cnblogs.com/bird8868/p/10211276.html
Copyright © 2011-2022 走看看