Python通过Socks代理连接SSH客户端

3

所以,我需要通过代理socks连接到SSH服务器。 我阅读了paramiko和twisted.conch文档,但没有发现它们支持代理socks。

2个回答

4
这个套接字包装器允许您使用静态ssh隧道。我找到了一个通用的解决方案:
  1. 使用paramiko的SSHClient
  2. 扩展SSHClient以创建自己的类
  3. 重新实现connect()方法: 不使用标准套接字对象,而是传递来自Python软件包sockipy的固定代理套接字

2

Paraproxy(一个用于SSH2 ProxyCommands的Paramiko插件)似乎可以实现。虽然没有在线文档,但在下载源代码并检查README文件时,我发现了以下内容:

Paraproxy是伟大的“paramiko” SSH2模块的补充。虽然paramiko对SSH(2)有很好的支持,但缺少ProxyCommand功能。

例如,可以使用ProxyCommands连接到VPN隧道,但它们提供了许多其他不错的功能。

一旦导入Paraproxy,它将钩入由paramiko提供的SSHClient类,从而获得完全支持SSH ProxyCommands的支持。

无需更改现有代码。

试试吧!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接