zoukankan      html  css  js  c++  java
  • 利用paramiko获取上传下载远程服务器的资源信息

    # -*- coding: utf-8 -*-

    import paramiko
    hostname='192.168.76.10'
    username='root'
    password='123456'
    paramiko.util.log_to_file('syslogin.log')
    ssh=paramiko.SSHClient()
    ssh.load_system_host_keys()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(hostname='192.168.76.10', port=22, username=username, password=password)
    stdin,stdout,stderr=ssh.exec_command('free -m')
    print stdout.read()
    stdin,stdout,stderr=ssh.exec_command('df -h')
    print stdout.read()
    ssh.close()

    set_missing_host_key_policy方法,是制定连接远程主机没有本地密钥或HostKeys对象是的策略,有三种策略:
    1、AutoAddPolicy,自动添加主机名及主机密钥到本地HostKeys对象,并保存,不依赖load_system_host_keys()的配置,即使~/.ssh/known_hosts不存在也不产生影响。

    2、WarningPolicy,用于记录一个未知的主机密钥的python警告,并接受它,功能上与AutoAddPolicy相似,但未知主机会有告警

    3、RejectPolicy,自动拒绝不知的主机名和密钥,依赖 load_system_host_keys()的配置

    import paramiko
    name='root'
    pw='123456'
    hname='192.168.76.10'
    port=22
    try:
    t = paramiko.Transport((hname, port))
    t.connect(username=name, password=pw)
    sftp = paramiko.SFTPClient.from_transport(t)
    #上传和下载一定是文件路径的格式,不能是目录,不然会报错
    sftp.put('d:jobinformation.txt', '/tmp/in.txt', confirm=True)
    sftp.get('/tmp/d.html', 'd:/job/d.html')
    sftp.mkdir('/tmp/xuebo')
    sftp.rmdir(('/tmp/t'))
    sftp.rename('/tmp/t1', '/tmp/t11.sh')
    print sftp.stat('/tmp/in.txt')
    print sftp.listdir('/tmp')
    t.close()
    except Exception, e:
    print str(e)

  • 相关阅读:
    mysql 加入列,改动列,删除列。
    C语言中的static 具体分析
    [Python网络编程]gevent httpclient以及网页编码
    iOS学习之 plist文件的读写
    数据库设计中的14个技巧
    最简单的基于FFMPEG的封装格式转换器(无编解码)
    一次重要的爱情婚姻抉择,您怎么看?
    2014年到期的myeclipse5.5.1注冊码
    24点经典算法
    使用val()方法设置表单中的默认选中项
  • 原文地址:https://www.cnblogs.com/mmdln/p/8888912.html
Copyright © 2011-2022 走看看