• 利用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)

  • 相关阅读:
    散列算法
    winform 与WPF
    微软开发技术大全(实时更新中.............)
    XSL是指可扩展样式表语言 (EXtensible Stylesheet Language)
    IIS做web server有些中文名文件不能下载,显示不全的问题
    非对称加密
    BIOS设置通电开机?请问高手怎么设置?
    关于Asp.net中static与ViewState使用的探讨
    javascript使回车键替代tab键的光标移动功能
    .NET Framework 工具
  • 原文地址:https://www.cnblogs.com/mmdln/p/8888912.html
Copyright © 2020-2023  润新知