• python的paramiko模块


    文章目录

    使用与概述

    • paramiko 是一个用于在Python中执行远程操作的模块,支持SSH协议。它可以用于连接到远程服务器,执行命令、上传和下载文件,以及在远程服务器上执行各种操作。

    以下是关于 paramiko 的一些概述和基本用法:

    安装 paramiko: 你可以使用 pip 命令来安装 paramiko 模块:

    pip install paramiko
    
    • 1

    基本用法:

    1. 建立 SSH 连接: 使用 paramiko 可以建立到远程服务器的 SSH 连接。

      import paramiko
      
      # 创建 SSH 客户端
      client = paramiko.SSHClient()
      
      # 自动添加主机密钥 (不写这个可能会报错找不到主机)
      client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
      
      # 连接到远程服务器
      client.connect('your_host', username='your_username', password='your_password', allow_agent=False, look_for_keys=False)
      # 参数说明:
      # - hostname: 远程主机的IP地址或域名
      # - username: 用于SSH连接的用户名
      # - password: 用于SSH连接的密码
      # - allow_agent: 是否允许使用代理验证,默认为False
      # - look_for_keys: 是否在本地寻找私钥文件,默认为False
      
      
      # 执行命令
      stdin, stdout, stderr = client.exec_command('ls -l')
      print(stdout.read().decode())
      
      # 关闭连接
      client.close()
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
    2. 上传和下载文件: 使用 paramiko,你可以上传和下载文件到远程服务器。

      import paramiko
      
      # 创建 SSH 客户端
      client = paramiko.SSHClient()
      client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
      client.connect('your_host', username='your_username', password='your_password')
      
      # 上传文件
      sftp = client.open_sftp()
      local_file_path = 'local_file.txt'
      remote_file_path = '/path/on/remote/server/remote_file.txt'
      sftp.put(local_file_path, remote_file_path)
      
      # 下载文件
      local_download_path = 'local_download.txt'
      remote_download_path = '/path/on/remote/server/remote_file.txt'
      sftp.get(remote_download_path, local_download_path)
      
      # 关闭连接
      sftp.close()
      client.close()
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
    3. 使用 SSH 密钥: 除了密码,paramiko 还支持使用 SSH 密钥进行认证。

      import paramiko
      
      # 创建 SSH 客户端
      client = paramiko.SSHClient()
      client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
      
      # 使用密钥认证
      private_key_path = '/path/to/your/private/key'
      key = paramiko.RSAKey(filename=private_key_path)
      client.connect('your_host', username='your_username', pkey=key)
      
      # 执行命令等操作
      
      # 关闭连接
      client.close()
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15

    这只是 paramiko 模块的一些基本用法。它还提供了许多其他功能,如处理错误、交互式终端会话、端口转发等,以支持更广泛的远程操作需求。使用 paramiko 可以在Python中方便地实现远程服务器操作。

  • 相关阅读:
    ShareSDK 第三方平台分享参数说明
    生信软件26 - BWA-MEM比对算法性能好的bwa-mem2
    STM32笔记2-使用库函数点亮LED灯
    Scala 基础 (五):面向对象(上篇)
    linux内核中的SPI
    日常小记-20221123
    Elasticsearch的分析与分析器
    最长连续序列[中等]
    Linux网络-UDP/TCP协议详解
    SHELL脚本编程----netstat练习2-查看和3306端口建立的连接
  • 原文地址:https://blog.csdn.net/rzy1248873545/article/details/132598869