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