zoukankan      html  css  js  c++  java
  • python paramiko 模块

    paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作

    用于连接远程服务器并执行基本命令

    pip3 install paramiko

    基于用户名密码连接:

    import paramiko
      
    # 创建SSH对象
    ssh = paramiko.SSHClient()
    
    # 允许连接不在know_hosts文件中的主机   know_hosts没有连接服务器 就自动添加签名认证
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    # 连接服务器
    ssh.connect(hostname='192.168.0.50', port=22, username='root, password='123')
      
    # 执行命令
    stdin, stdout, stderr = ssh.exec_command('df')
    # 获取命令结果
    result = stdout.read()
      
    # 关闭连接
    ssh.close()

    基于公钥密钥连接:

    import paramiko
     
    # 定义本地公钥所在位置  RSAkey
    private_key = paramiko.RSAKey.from_private_key_file('/home/auto/.ssh/id_rsa')
     
    # 创建SSH对象
    ssh = paramiko.SSHClient()
    # 允许连接不在know_hosts文件中的主机
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    # 连接服务器
    ssh.connect(hostname='192.168.0.50, port=22, username='lichaoming', key=private_key)
     
    # 执行命令
    stdin, stdout, stderr = ssh.exec_command('df')
    # 获取命令结果
    result = stdout.read()
     
    # 关闭连接
    ssh.close()

    用于连接远程服务器并执行上传下载

    基于用户名密码上传下载

    import paramiko
     
    transport = paramiko.Transport(('hostname',22))
    transport.connect(username='root',password='123')
     
    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()

    基于公钥密钥上传下载

    import paramiko
     
    private_key = paramiko.RSAKey.from_private_key_file('/home/auto/.ssh/id_rsa')
     
    transport = paramiko.Transport(('hostname', 22))
    transport.connect(username='root', pkey=private_key )
     
    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()
  • 相关阅读:
    hadoop streaming 中跑python程序,自定义模块的导入
    许久未更新~~重启~~
    什么叫共轭先验或者共轭分布?
    Call for Papers International Conference for Smart Health (ICSH) 2014
    IEEE/ACM International Conference on Advances in Social Network Analysis and Mining (ASONAM) 2014 Industry Track Call for Papers
    linux 查看文件方法
    Double 保留小数点后N位
    java获取当前日期所在的周的周一,并以周一为一周开始
    Core Data Programming Guid
    UIDatePicker应用 常用属性和方法
  • 原文地址:https://www.cnblogs.com/mingerlcm/p/8001323.html
Copyright © 2011-2022 走看看