我有两个通过http进行通信的服务器。 我希望这个转移是安全的。
这怎么能实现? 我不希望使用使用HTTPS(这将需要SSL证书,对吧?)
[ SERVER-I ] – > [ SSH-ENDPOINT] – < – > – < – > – HTTP – < – > – < – > – < – > – [ SSH-ENDPOINT ] < – [ SERVER-II ]
是这样的^^可能吗?
一切皆有可能! ssh -C -L 8080:server-II:80 SSH-ENPOINT将在ssh_endpoints之间build立一个隧道。 然后你可以通过使用http:// localhost:8080来请求你的服务器连接另一台服务器。 换句话说,你需要另一个隧道。
如果您使用SSL证书的问题是他们花钱,自签名证书是免费的,并提供完全相同的encryption。 教程很容易find。
如果使用curl,则可以使用-k选项来不要求您的服务器的SSL密钥由CA签名。 这个选项的wget版本是--no-check-certificate 。
Dom的解决scheme将工作,但是你将需要保持login或从当前shell中断开ssh进程,否则当你断开连接时隧道将会消失。
一种方法是在ssh命令前面使用nohup 。
另一个是后台的SSH进程,然后断言。 你可以通过input~^z (这是一个波浪号后面跟着一个ctrl-z)的背景来build立一个ssh连接,然后使用bg在后台启动它再次运行,并将ssh隧道从shell中分离出来。
我不确定转义序列如何与链接的ssh连接一起工作。 我怀疑如果你使用ssh连接server1之前,需要input~~^z ,然后用ssh在两台服务器之间build立一个隧道。
如果死亡,您可能还想使用自动刷新等重新启动隧道。 即使进程仍然存在,防火墙和随机networking中断也很容易导致隧道断开。
我会研究两个服务器之间的安全VPN连接。 我已经玩了两个服务器上安装hamachi( http://www.logmein.com )。 我能够在两台服务器之间创build一个安全的VPN连接,而不会冒任何为VPN通讯打开端口的风险。 默认情况下,Hamachi VPN tun适配器是100mbps,这通常是可以的,但可能是一个问题,你需要比这更大的东西。 Hamachi也是跨平台,非常容易安装。