zoukankan      html  css  js  c++  java
  • python ssh登录linux 上传和下载文件

    #!usr/bin/python
    # coding: utf-8


    import paramiko
    import json
    remotedir='/tmp/log'
    remotefile = 'bst_manager-2019-04-17-info.log'
    hostname = '192.168.50.34'
    port = 8022
    username = 'root'
    password ='*****'
    command = """tail -n 30 /tmp/log/bst_manager-2019-04-17-info.log | grep 'other'"""


    def ssh_remote():
    """ 1、基于用户名和密码连接
    """
    print ("基于用户名和密码连接")
    # 创建SSH对象
    ssh = paramiko.SSHClient()
    # 允许连接不再know_host文件的主机
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    # 连接服务器
    ssh.connect(hostname, port, username, password)
    # 执行命令
    stdin, stdout, stderr = ssh.exec_command(command)
    data = stdout.readline()
    cloud_data = json.loads(data)['other']

    with open("../test_data_dev/data.json", 'w+', 0) as f:
    cloud_data = json.dumps(cloud_data, indent=4, separators=(',', ':'))
    f.write(cloud_data)
    ssh.close()
    print ("1. over ")

    #
    # def ssh_remote_moth2():
    #
    # """ 2、基于用户名和密码连接
    # """
    # print ("基于用户名和密码连接,使用SSHClient, 封装Transport")
    # ssh = paramiko.SSHClient()
    # transport = paramiko.Transport(sock=(hostname, port))
    # # print transport
    # transport.connect(username=username, password=password)
    #
    # ssh._transport = transport
    # stdin, stdout, stderr = ssh.exec_command(command)
    # data = json.loads(stdout.readline())["other"]
    #
    # with open("../test_data_dev/data.json", 'w+', 0) as f:
    # cloud_data = json.dumps(data, indent=4, separators=(',', ':'))
    # f.write(cloud_data)
    # ssh.close()
    #
    # transport.close()
    # print ('2. over ')
    #
    #
    # def down_device_file():
    #
    # transport = paramiko.Transport(('192.168.50.34', 8022))
    # transport.connect(username='root', password='O3OwTr(01{@sVhDL')
    #
    # sftp = paramiko.SFTPClient.from_transport(transport)
    # sftp.put('/tmp/location.txt', '/tmp/sensoro/server.txt')
    #
    # # 检查有无上传成功
    # ssh = paramiko.SSHClient()
    # ssh._transport = transport
    # stdin, stdout, stderr = ssh.exec_command('ls -al /tmp/sensoro/')
    # print(str(stdout.read(), encoding='utf-8'))
    #
    # # 将remove_path 下载到本地 local_path
    # sftp.get('/root/conf/bst_conf.json', '/Users/linyue/mywork/server_file/bst_conf.json')
    #
    # transport.close()
    # print("3. over")
























  • 相关阅读:
    js控制treeview默认展开
    java 在方法中新建线程,传参和加锁详解
    springmvc加载xml文件读取本地properties配置文件
    Android系统目录结构详解
    支付宝沙箱测试-ALI40247
    转化.vdi到.vmdk
    查看网页自动保存的密码
    天猫魔盘在 deepin-linux中的使用
    百度云-上传服务器出错误
    安装出现了error launching installer
  • 原文地址:https://www.cnblogs.com/lin-yue/p/10723528.html
Copyright © 2011-2022 走看看