精华内容
下载资源
问答
  • 2021-10-09 10:40:32

    paramiko是什么

    paramiko包含两个核心组件:SSHClient和SFTPClient。

    • SSHClient的作用类似于Linux的ssh命令,是对SSH会话的封装,该类封装了传输(Transport),通道(Channel)及SFTPClient建立的方法(open_sftp),通常用于执行远程命令。
    • SFTPClient的作用类似与Linux的sftp命令,是对SFTP客户端的封装,用以实现远程文件操作,如文件上传、下载、修改文件权限等操作。

    paramiko的基本使用

    1.SSHClient常用的方法介绍

    import paramiko
    ssh = paramiko.SSHClient()
    # 第一次连接的时候一般都会提示yes/no,这是因为远程服务器没有在know_hosts文件中记录时的应对策略
    # set_missing_host_key_policy()设置连接的远程主机没有本地主机密钥或HostKeys对象时的策略,目前支持三种:
    # AutoAddPolicy 自动添加主机名及主机密钥到本地HostKeys对象,不依赖load_system_host_key的配置。即新建立ssh连接时不需要再输入yes或no进行确认
    # WarningPolicy 用于记录一个未知的主机密钥的python警告。并接受,功能上和AutoAddPolicy类似,但是会提示是新连接
    # RejectPolicy 自动拒绝未知的主机名和密钥,依赖load_system_host_key的配置。此为默认选项 
    # 我一般使用第一种方式
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    
    # connect():实现远程服务器的连接与认证,对于该方法只有hostname是必传参数
    # 常用参数:
    # hostname 连接的目标主机
    # port=SSH_PORT 指定端口
    # username=None 验证的用户名
    # password=None 验证的用户密码
    # pkey=None 私钥方式用于身份验证
    # key_filename=None 一个文件名或文件列表,指定私钥文件
    # timeout=None 可选的tcp连接超时时间
    # allow_agent=True, 是否允许连接到ssh代理,默认为True 允许l
    # ook_for_keys=True 是否在~/.ssh中搜索私钥文件,默认为True 允许
    # compress=False, 是否打开压缩
    ssh = connect(hostname='192.168.153.32' ,port='22', username='root', password='mypassword')
    
    # exec_command():在远程服务器执行Linux命令的方法,他会返回一个元祖一共有三个值
    # stdin
    # stdout返回的是执行结果,如果执行失败stdout返回None
    # stderr返回的是错误信息,如果命令执行成功stderr返回的是None
    # stdout和stderr返回的都是字节,我们需要decode解码一下
    stdin, stdout, stderr = ssh.exec_command('ls')
    print(stdout.read().decode('utf-8'))
    
    # open_sftp():在当前ssh会话的基础上创建一个sftp会话。该方法会返回一个SFTPClient对象。
    # 利用SSHClient对象的open_sftp()方法,可以直接返回一个基于当前连接的sftp对象,可以进行文件的上传等操作.
    sftp = client.open_sftp() 
    sftp.put('test.txt','text.txt') 
    

    由于工作需要自己封装了一个工具类,提供远程操作服务器,与上传文件。

    import paramiko
    
    class Ssh(object):
        def __init__(self, ip, username="root", password=None, private_key_path=None, port=22):
            # key = paramiko.RSAKey.from_private_key_file(private_key_path)
            self.ssh = paramiko.SSHClient()
            self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            self.ssh.connect(hostname=ip, port=port, username=username, password=password,key_filename=private_key_path)
            # self.t = paramiko.Transport((ip,port))
            # self.t.connect(username='root',pkey=key)
            # self.sftp = paramiko.SFTPClient.from_transport(self.t)
        
        def cmd(self,cmd):
            _,stdout,stderr = self.ssh.exec_command(cmd)
            msg = stdout.read().decode()
            err = stderr.read().decode()
            data = {
                "code": 0,
                "msg": ""
            }
            if len(err) != 0:
                data['code'] = 1
                data['msg'] = err
            else:
                data['code'] = 0
                data['msg'] = msg
            return data
        
        def put(self, src, desc):
            try:
                sftp = self.ssh.open_sftp()
                sftp.put(src,desc)
            except Exception as e:
                return e
    
    ssh = Ssh(ip="192.168.153.32", private_key_path="C:\\Users\\Administrator\\.testssh\\linux_fyh_rsa", port=22)
    # print(ssh.put("C:\\Users\\Administrator\\Desktop\\sh_auto\\test\\ssh_linux.py",'/root/ssh_linux.py'))
    print(ssh.cmd('ls'))
    
    更多相关内容
  • Paramiko Expect为Paramiko SSH库提供了一个类似于期望的扩展,该脚本库允许脚本通过真正的SSH连接与主机进行完全交互。 该类由SSH客户端对象构造(将来可能会扩展为支持传输,以提供更大的灵活性)。 快速开始 要...
  • 而使用paramiko可以很好的解决以上问题,比起前面的方法,它仅需要在本地上安装相应的软件(python以及PyCrypto),对远程服务器没有配置要求,对于连接多台服务器,进行复杂的连接操作特别有帮助。下面本文就来详细...
  • 开发堡垒机之前,先来学习Python的paramiko模块,该模块基于SSH用于连接远程服务器并执行相关操作 安装paramiko模块 pip3 install paramiko 基于用户密码方式 import paramiko # 创建SSH对象 ssh = paramiko.SSH...
  • 基本思路为利用paramiko ssh到服务器上,起一个线程用tail -f命令实时获取日志输出,起另外一个线程用‘cat /sys/class/thermal/thermal_zone0/temp’命令定时获取cpu,gpu温度。 代码 def get_report_info_perid...
  • 这里就分享一个用Python的paramiko来实现功能的一段代码: 复制远程服务器上的文件及文件夹到本地目录。 解释一下什么叫paramiko: paramiko是用python写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行...
  • Python中使用SSH需要用到OpenSSH,而OpenSSH依赖于paramiko模块,而paramiko模块又依赖于pycrypto模块,因此要在python中使用SSH,我们需要先安装pycrypto模块,然后再安装paramiko模块。下面话不多说了,来一起看看...
  • python中的paramiko模块是用来实现ssh连接到远程服务器上的库,在进行连接的时候,可以用来执行命令,也可以用来上传文件。 1、得到一个连接的对象 在进行连接的时候,可以使用如下的代码: def connect(host): '...
  • paramiko介绍 paramiko是一个基于python编写的、使用ssh协议的模块,跟xshell和xftp功能类似,支持加密与认证,可以上传下载和访问服务器的文件。 可以利用paramiko模块写服务器脚本,在本地执行,比如持续更新代码...
  • python代码中包含paramiko模块的远程登录ssh,在用pyInstaller转为exe时报错, 报错提示为“No handlers could be found for logger “paramiko.transport” 出错位置: ssh = paramiko.SSHClient() ssh.set_...
  • paramiko执行命令超时的问题.pdf
  • Python – paramiko 模块远程执行ssh 命令 nohup 不生效的问题解决 1、使用 paramiko 模块ssh 登陆到 linux 执行nohup命令不生效 # 执行命令 def command(ssh_config, cmd, result_print=None, nohup=False): ssh ...
  • 主要介绍了python使用paramiko实现ssh的功能详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 该代码用的是paramiko模块,python版本是python2.7 下面上源码 # -*- coding: utf-8 -*- import paramiko import time import os port = '22' username = '****' password = '****' ip = '****' # 测试用的交换机ip...
  • 主要介绍了解决paramiko执行命令超时的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • windows_python3.7离线安装paramiko2.7.2全文件
  • paramiko是用python写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。利用该模块,可以方便的进行ssh连接和sftp协议进行sftp文件传输以及远程命令执行。 通过安装包安装: wget ...
  • 主要介绍了python下paramiko模块实现ssh连接登录Linux服务器的方法,实例分析了paramiko模块实现ssh连接的具体用法,需要的朋友可以参考下
  • 主要介绍了python 采用paramiko 远程执行命令及报错解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 主要介绍了Python如何使用paramiko模块连接linux,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • paramiko

    2021-01-13 10:44:50
    paramiko
  • 程序执行时需要读取两个文件command.txt和ipandpass.txt。格式如下: 复制代码 代码如下:command.txt:ThreadNum:1port:22local_dir:hello_mkdirremote_dir:hello_mkdiralter_auth:chmod 755 hello_mkdirexec_program...
  • 官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
  • paramiko离线包,包含依赖,列表如下: paramiko-2.8.0-py2.py3-none-any.whl bcrypt-3.2.0-cp36-abi3-win_amd64.whl cffi-1.15.0-cp38-cp38-win_amd64.whl cryptography-36.0.0-cp36-abi3-win_amd64.whl pycparser-...
  • ubuntu下paramiko安装

    2022-01-06 16:08:14
    三个包按ecdsa--pycryto---paramiko分别解压执行以下命令 sudo python3 setup.py build sudo python3 setup.py install
  • 本文研究的主要是python模块之paramiko的相关用法,具体实现代码如下,一起来看看。 paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能。这是一个第三方的软件包,使用之前需要安装。 1 ...
  • 主要介绍了python使用paramiko实现远程拷贝文件的方法,分析了paramiko库的安装以及远程下载文件的实现技巧,需要的朋友可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,961
精华内容 6,384
关键字:

paramiko

友情链接: BeatEmUpTut-master.zip