Paramiko 简介

Paramiko 简介#

Paramiko 是纯 Python(3.6+)实现的 SSHv2 协议,提供客户端和服务器功能。它为高级 SSH 库 fabric 提供了基础,我们建议在常见的客户端用例中使用 Fabric,例如运行远程 shell 命令或传输文件。

直接使用 Paramiko 本身仅适用于需要高级/低级原语的用户,或者想要在 Python 中运行 sshd 的用户。

备注

  • Paramiko 依赖于 cryptography 来实现加密功能,它使用 C 和 Rust 扩展,但也提供了许多预编译的选项。有关详细信息,请参阅我们的安装页面。

  • OpenSSH 的 RFC 规范页面是一个极好的资源和链接集合,我们不会在这里重复:https://www.openssh.com/specs.html

  • Paramiko 不适用于 Cisco、Windows 或其他非 Unix 系统!

高级客户端 API 从创建 SSHClient 对象开始。为了进行更直接的控制,可以将套接字(或类似套接字的对象)传递给 Transport,并使用 start_server()start_client() 作为服务器或客户端与远程主机协商。

作为客户端,您负责使用密码或私钥进行身份验证,并检查服务器的主机密钥。(密钥签名和验证由 paramiko 完成,但您需要提供私钥并检查公钥的内容是否与您预期看到的相符。)

作为服务器,您负责决定允许哪些用户、密码和密钥,以及允许哪种类型的通道。

一旦完成,任何一方都可以向另一方请求流控制 Channel,这些通道是 Python 对象,它们像套接字一样工作,但在加密会话上发送和接收数据。