python语言paramiko库SSHClient类的部分使用理解

本文介绍了Python的Paramiko库中SSHClient类的基本用法,包括类实例化、自动添加公钥策略、建立SSH连接以及执行命令。通过示例代码展示了如何使用用户名和密码登录主机,以及如何处理非即时返回结果的命令。建议在链接未知主机时设置自动添加公钥策略,并根据需求选择.exec_command或.invoke_shell执行命令。
摘要由CSDN通过智能技术生成

SSHClient类打包了.Transport,.Channel,.SFTPClient来满足多方面的认证和传输的要求,下面来看看部分用法。

一、类实例化

ssh_client = paramiko.SSHClient()

实例化一个SSHClient类的对象。

实例化的时候做了些什么呢?查看一下paramiko版本2.8.1中的源码:

def __init__(self):
    """
    Create a new SSHClient.
    """
    self._system_host_keys = HostKeys()
    self._host_keys = HostKeys()
    self._host_keys_filename = None
    self._log_channel = None
    self._policy = RejectPolicy()
    self._transport = None
    self._agent = None

可以看到构造函数中,对新对象的部分属性进行了初始化,如主机公钥、日志、拒绝策略、传输方式和代理这些。

其中关于公钥,根据在RFC4251中的定义:

   Each server host SHOULD have a host key.  Hosts MAY have multiple
   host keys using multiple different algorithms.  Multiple hosts MAY
   share the same host key.  If a host has keys at all, it MUST have at
   le
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值