所以,我需要通过代理socks连接到SSH服务器。 我阅读了paramiko和twisted.conch文档,但没有发现它们支持代理socks。
SSHClient
类SSHClient
以创建自己的类connect()
方法:
不使用标准套接字对象,而是传递来自Python软件包sockipy
的固定代理套接字Paraproxy(一个用于SSH2 ProxyCommands的Paramiko插件)似乎可以实现。虽然没有在线文档,但在下载源代码并检查README
文件时,我发现了以下内容:
Paraproxy是伟大的“paramiko” SSH2模块的补充。虽然paramiko对SSH(2)有很好的支持,但缺少ProxyCommand功能。
例如,可以使用ProxyCommands连接到VPN隧道,但它们提供了许多其他不错的功能。
一旦导入Paraproxy,它将钩入由paramiko提供的SSHClient类,从而获得完全支持SSH ProxyCommands的支持。
无需更改现有代码。
试试吧!