• python之paramiko(一)


    [简介]

      paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。paramiko支持Linux, Solaris, BSD, MacOS X, Windows等平台通过SSH从一个平台连接到另外一个平台。利用该模块,可以方便的进行ssh连接和sftp协议进行sftp文件传输。

    [root@centos6 auto_maintance]# cat paramiko_key.py

    #!/usr/bin/env python
    # function: remote multi exec cmd by ssh.
    # version:1.1


    import paramiko
    import socket
    import sys,os


    host = sys.argv[1]
    user = sys.argv[2]
    port = int(sys.argv[3])


    authen_method = sys.argv[4]
    if authen_method == 'PASSWORD':
        password = sys.argv[5]
        cmd = sys.argv[6]
    else:
        cmd = sys.argv[5]
        ss = paramiko.SSHClient()
        ss.load_system_host_keys()
        ss.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    #pkey_file = '/home/alex/.ssh/id_rsa'
    #key = paramiko.RSAKey.from_private_key_file(pkey_file)
    #s.connect(host,port,username,pkey=key,timeout=5)
    try:
    if authen_method == 'SSH_KEY':
        pkey_file = '/root/.ssh/id_rsa'
        key = paramiko.RSAKey.from_private_key_file(pkey_file)
        ss.connect(host,port,user,pkey=key,timeout=5)
    elif authen_method == 'PASSWORD':
        ss.connect(host,port,user,password,timeout=5)
        stdin,stdout,stderr = s.exec_command(cmd)
        cmd_result = stdout.read(),stderr.read()
    print "--------Result from: %s -------" % host
    for line in cmd_result:
        print line,
    ss.close()
    except paramiko.AuthenticationException:
        print "33[31;1m%s Authentication Error!33[0m" % host
    except socket.error:
        print "33[31;1m%s Connection Refused!33[0m" % host

    当你的才华还撑不起你的野心时,就应该静下心来学习! Think big!Look forward!
  • 相关阅读:
    javascript中的常用表单事件用法
    关于js键盘事件的例子
    对象间引用赋值及方法时引用传递
    反编译工具reflector破解方法
    使用委托(C# 编程指南)
    委托(C# 编程指南)
    浅谈线程池(下):相关试验及注意事项
    Lambda 表达式(C# 编程指南)
    浅谈线程池(中):独立线程池的作用及IO线程池
    浅谈线程池(上):线程池的作用及CLR线程池
  • 原文地址:https://www.cnblogs.com/iber/p/7754996.html
Copyright © 2020-2023  润新知