美文网首页Pythonpython
【Python自动化管理-paramiko】

【Python自动化管理-paramiko】

作者: 西布鲁克 | 来源:发表于2021-07-02 08:43 被阅读0次

    paramiko是SSH协议的python实现,paramiko可以在Python代码中直接使用SSH协议对远程服务器执行操作,而不是调用ssh命令对远程服务器进行操作。

    安装

    sudo pip install paramiko
    python -c "import paramiko"
    

    SSHClient类与SFTPClient类

    paramiko包含两个核心组件,分别是SSHClient和SFTPClient,前者的作用对应于Linux下的ssh命令,后者的作用对应于Linux下的sftp命令。

    1. SSHClient类是对SSH会话的封装,该类封装了传输(transport)、通道(channel)及SFTPClient建立的方法(open_sftp),通常用于执行远程命令。SSHClient类的常用方法有以下几个:
    • connect() - 实现远程服务器的连接与认证,hostname是必传的参数
    connect(self, hostname, port=22, username=None, password=None, pkey=None, key_filename=None, timeout=None, allow_agent=True, look_for_keys=True, compress=False)
    
    • set_missing_host_key_policy() - 设置远程服务器没有记录在本地know_hosts文件中时的应对策略。目前支持三种策略,分别是

      • AutoAddPolicy - 自动添加服务器到know_hosts文件
      • RejectPolicy - 拒绝本次连接(默认策略)与
      • WarningPolicy - 警告并将服务器添加到know_hosts文件中
    • exec_command() - 在远程服务器上执行Linux命令的方法

    • open_sftp() - 在当前ssh会话的基础上创建一个sftp会话。该方法会返回一个SFTPClient对象。

    1. SFTPClient类是对SFTP客户端的封装,用以实现远程文件操作,如文件上传、下载、修改文件权限等操作。SFTPClient类常用的方法有以下几个:
    • put():上传本地文件到远程服务器;
    • get():从远程服务器下载文件到本地;
    • mkdir():在远程服务器上创建目录;
    • remove():删除远程服务器中的文件;
    • rmdir():删除远程服务器中的目录;
    • rename():重命名远程服务器中的文件或目录;
    • stat():获取远程服务器中文件的详细信息;
    • listdir():列出远程服务器中指定目录下的内容;

    paramiko的基本使用

    paramiko的基本使用

    相关文章

      网友评论

        本文标题:【Python自动化管理-paramiko】

        本文链接:https://www.haomeiwen.com/subject/yiqjultx.html