未经encryption的SSH反向代理等效

我正在寻找这样的等价物:

ssh -R 8888:10.0.0.2:8888 100.101.102.103 

即。 使本地计算机(10.0.0.2)上的端口8888上运行的服务看起来像远程计算机上的本地运行服务(100.101.102.103)。

但是,我不希望SSH的encryption开销,因为有问题的服务是https,因此已经encryption。

任何人都可以build议一个工具来做到这一点 请注意,启动的方向在这里很重要 – 即。 这相当于一个反向隧道。 运行服务的本地计算机位于专用networking中,远程计算机不可见; 远程机器虽然有一个公共IP。

  • unix(OS X和Linux)在每一端
  • 我可以完全访问这两台机器

我想,一对netcat会话将适合这个账单。

man nc

只需将ssh的encryption密码设置为无。

 ssh -c none -R 8888:10.0.0.2:8888 100.101.102.103 

不要忘记networking代理瑞士军刀socat);

http://www.dest-unreach.org/socat/

一个inetd结合netcat应该可以做到。 请参阅转发端口 ,尽pipe现在xinetd可能是更好的select。

过去,我已经使用了rinetd ,取得了巨大的成功。

rinetd是一个非常小,稳定,简单的程序,它监听传入的连接并转发它们,configuration非常简单

 # bindadress bindport connectaddress connectport 1.2.3.4 80 4.3.2.1 80 1.2.3.4 443 4.3.2.1 443 

还有一个名为“ stone ”的程序可以做同样的事情:例子… http从网关到内部机器(1.2.3.4):

 $ stone 1.2.3.4:80 80 

你可以使用某种防火墙规则? 在iptables中的一个端口redirect到另一个端口?

你正在尝试使用像NAT端口转发这样的味道给我。 一个iptables规则,它已经完成。