【问题标题】:How to connect to Corba server via ssh tunnel using Omniorb on Python如何在 Python 上使用 Omniorb 通过 ssh 隧道连接到 Corba 服务器
【发布时间】:2018-02-19 22:15:31
【问题描述】:

我有一些使用 Omniorb 连接到 corba 服务器的 Python 代码,一切正常。

现在我希望能够通过创建 ssh 隧道连接到防火墙后面的服务器,但它不起作用。

据我从wireshark跟踪中得知,服务器正在将我重定向到它的IP地址——这当然是我无法访问的本地网络地址。

有什么方法可以处理这个并告诉服务器不要重定向我的客户端?我无法修改服务器或更改其 IP 等。或者我可以修改我的客户端以伪造它的连接以便服务器接受它吗?

【问题讨论】:

  • 你能通过 ssh 连接到你想连接的盒子吗?或者,您可以通过 ssh 连接到一个可以 ssh 到运行您要连接的服务器的盒子吗?如果是这样,并且我正确理解了您的问题,我可以向您展示如何正确设置 ssh 隧道。
  • @Stephen,问题不在于设置 ssh 隧道。问题是客户端说“连接到 127.0.0.1”,服务器通过隧道接收到它并回复“我不在 127.0.0.1,我在 10.1.2.3”,然后客户端尝试连接到那个地址!我正在尝试找到一种方法使服务器不执行重定向。
  • 听起来您将隧道设置为转发到 127.0.0.1。你可以发布你正在使用的 ssh 命令吗?

标签: python corba omniorb


【解决方案1】:

如果您使用 SSH Socks 代理而不是 SSH 隧道,问题会变得更简单

ssh -D 8888 <user>@<machine>

现在您有一个在socks5://127.0.0.1:8888 运行的代理。接下来是如何将它与您的代码一起使用。我没有使用 CORBA 的经验,所以我只能提供探索的选项

  1. 如果连接支持,请在 Omniorb 中配置代理
  2. 如果 Omniorb 内部使用 urllib 或其他东西,那么您可以使用类似 this 的东西
  3. 如果该选项也不起作用,那么您可以通过socksify 强制您的 python 脚本
  4. 如果这也不起作用并且您使用的是 Mac,您可以尝试在系统级别强制 socks 代理

【讨论】:

    猜你喜欢
    • 2020-09-30
    • 2012-06-21
    • 2019-11-12
    • 2017-01-01
    • 2019-08-01
    • 1970-01-01
    • 2014-03-21
    相关资源
    最近更新 更多