• 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()
  • 相关阅读:
    Internal error:1058 解决方法
    bat抓取文件名
    linux 删除含斜杠的文件的方法
    openoffice启动和自动启动设置(centos)
    Qt-OpenCV使用CMake和MinGW的编译安装及其在Qt配置运行
    MEMS传感器介绍
    嵌入式通信协议-IIC和SPI
    电子设计中-电源地,信号地,大地等知识点总结
    Flash存储器-读写原理及次数
    Qt -在应用程序中嵌入Web内容之环境搭建
  • 原文地址:https://www.cnblogs.com/bird8868/p/10211276.html
Copyright © 2020-2023  润新知