我想在我的静态IP服务器上安装静态SSH端点,该端点在设备移动时跟随设备。
我有一个可以在IP 和端口之间移动的设备。当它移动时,它会回家"所以我知道我可以使用ngrok
来连接它。
不幸的是,由于设备更改了端口,因此使用动态DNS无法正常工作。
具体来说,我在我的设备上使用ssh -p $roamingPort user@$roamingIp
。是的,我也付钱给他们相当于这个,但在我自己的服务器上这样做会很好。此问题也适用于其他情况。
首先ssh进入静态IP服务器并拥有一个脚本可以很容易地进入漫游设备:known_hosts
。或者,制作一个类似的脚本,在客户端设备上运行,询问静态IP服务器当前所在的漫游设备,然后直接SSH到漫游设备。
对于使用当前工具的HTTP,这将相对容易。例如,使用nginx将请求代理到不同的URL。
但这些都不能提供良好的用户体验和#34;跟随漫游设备的一些静态SSH端点,可以与许多ssh客户端一起使用。
我一直在寻找一种方法来做到这一点并空手而归。
无论如何解决这个问题也应该很好地照顾
mkfifo fifo && nc -l -p $staticPort < fifo | nc $roamingIP $roamingPort > fifo
。
这与Hookable SSH proxy server to direct connection to remote host略有关系,但我想在我控制的框上运行该服务。
编辑:以下工作一次,直到手动重启为止。它也永远不会自行关闭。
return
答案 0 :(得分:0)
你可以使用saltstack之类的东西,这可能对你想要的东西来说太多了,但是非常有用,特别是当拥有随机变化的动态客户端/节点时你只需要通过已知的方式访问它们host:port,通常用于负载均衡,例如。
这意味着您将需要一个服务器(salt master)和您的节点(客户端/实例/设备)。
在您的情况下,您可以在一个固定的静态IP /端口服务器中使用HAproxy,该服务器将使用salt mines自动更新后端。
可在此处找到此示例:https://docs.saltstack.com/en/latest/topics/mine/#example