zoukankan      html  css  js  c++  java
  • Python parami

    一、使用
    SSHClient:用于连接远程服务器并执行基本命令

      1.基于用户名密码连接
        1.使用SSH帮我们创建transport对象

     1         import paramiko
     2 
     3         #  创建SSH对象
     4         ssh = paramiko.SSHClient()
     5         #  允许连接不在know_hosts文件中的主机
     6         ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
     7         #  连接服务器
     8         ssh.connect(hostname='192.168.124.32',port=22,username='name',password='')  #  22是默认端口
     9 
    10         #  执行命令
    11         stdin,stdout,stderr = ssh.exec_command('1s')
    12         #  获取命令结构
    13         result = stdout.read()
    14         #  关闭连接
    15         ssh.close()    

            2.自己创建transport对象

     1         import paramiko
     2 
     3         transport = paramiko.Transport(('hostname',22))
     4         transport.connect(username='name',password='')
     5 
     6         ssh.paramiko.SSHClient()
     7         ssh._transport = transport #  创建对象
     8 
     9         stdin,stdout,stderr = ssh.exec_command('df')
    10         print(stdout.read())
    11 
    12         transport.close()

      2.用公共密钥进行连接

        import paramiko
        
        private_key = paramiko.RSAKey.from_private_key_file('/home/auto/.shh/id_rsa')
        
        #  创建SSH对象
        ssh = paramiko.SSHClient()
        #  允许连接不在know_hosts文件中的主机
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        #  连接服务器
        ssh.connect(hostname='192.168.124.32',port=22,username='name',password='')  #  22是默认端口
    
        #  执行命令
        stdin,stdout,stderr = ssh.exec_command('1s')
        #  获取命令结构
        result = stdout.read()
        #  关闭连接
        ssh.close()
        

    SFTPClient:用于连接远程服务器并执行基本命令(只能用transport连接)
      1.基于用户密码的上传和下载

    import paramiko
    
    transport = paramiko.Transport(('hostname',22))
    transport.connect(username='name',password='')
    
    sftp  = paramiko.SFTPClient.from_transport(transport)
    
    #  将location.py上传到服务器/tmp/test.py
    sftp.put('/tmp/将location.py','/tmp/test.py')
    #  将remove_path 下载到本地 local_path
    sftp.get('remove_path','local_path')
    
    transport.close()

      2.基于公钥密钥上传下载:(同上)

    二、多条命令或操作同时使用

    把连接、上传、下载、执行命令、关闭....等操作创建成方法,再合成一个类,通过对对象的操作来执行想要的功能

  • 相关阅读:
    CSS学习笔记 糖不苦
    Servlet与HTTP介绍学习 糖不苦
    new 的原理和实现 糖不苦
    HTML学习笔记 糖不苦
    事务的概念,以及事务在JDBC编程中处理事务的步骤 糖不苦
    前端JS获取用户位置 糖不苦
    数据接口请求异常:parsererror 糖不苦
    所有CSS字体属性 糖不苦
    jQuery CSS样式方法
    jQuery效果隐藏/显示,淡入/淡出,滑动,动画
  • 原文地址:https://www.cnblogs.com/otome/p/12540533.html
Copyright © 2011-2022 走看看