zoukankan      html  css  js  c++  java
  • python的paramiko模块简单应用

    用法1,SSHClient

    分别可以使用密码和秘钥登陆,然后执行命令,并且获取执行结果

    import paramiko
    
    #创建一个SSH对象
    ssh = paramiko.SSHClient()
    
    #允许连接不在know_hosts文件中的主机
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    
    #通过用户名和密码去连接服务器
    ssh.connect(hostname="127.0.0.1",port=22,username="xxxxx",password="123")
    
    #执行命令,stdin是输入,stdout是正常的输入,stderr是错误的输出,这里正常的输出
    #和错误的只能有一个有值
    stdin,stdout,stderr = ssh.exec_command("df")
    
    #获取命令结果
    res = stdout.read()
    res = stderr.read()
    ssh.close()
    
    
    # 上面是基于用户名密码访问ssh,其实还可以通过秘钥去访问ssh
    
    
    
    #创建一个SSH对象
    ssh = paramiko.SSHClient()
    
    priv_key = paramiko.RSAKey.from_private_key_file("ke用的路径")
    #允许连接不在know_hosts文件中的主机
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    
    #通过秘钥去连接服务器
    ssh.connect(hostname="127.0.0.1",port=22,username="xxxxx",pkey=priv_key)
    
    #执行命令,stdin是输入,stdout是正常的输入,stderr是错误的输出,这里正常的输出
    #和错误的只能有一个有值
    stdin,stdout,stderr = ssh.exec_command("df")
    
    #获取命令结果
    res = stdout.read()
    res = stderr.read()
    ssh.close()
    

     

    用法2,transport,上传和下载文件

    import paramiko
    
    transport = paramiko.Transport(("hostname",22))
    
    #通过用户名密码去连接
    transport.connect(username="xxxx",password="123")
    
    sftp = paramiko.SFTPClient.from_transport(transport)
    
    #把本地文件上传到远程
    sftp.put("/tmp/local/xxxx.py","tmp/test.py")
    
    
    #把远程文件下载到本地
    sftp.get("remove_path","local_path")
    
    #关闭transport
    transport.close()
    

      

  • 相关阅读:
    margin、padding单位百分比
    Javascript CustomEvent
    javascript 复制数组
    gulp 小坑一个
    Gulp livereload
    node入门笔记
    jQuery操作input改变value属性值
    阅读笔记-A Message To Garcia
    读书笔记-忆见未来
    js this pointer 指针
  • 原文地址:https://www.cnblogs.com/bainianminguo/p/7450539.html
Copyright © 2011-2022 走看看