我将在远程位置部署
Linux机器作为一种公共终端.我希望能够通过SSH远程访问它进行维护,但是我不希望在我需要访问这台机器的极少数情况下在远程防火墙上打开端口.我有一个简单的脚本来创建一个到外部机器的反向SSH隧道,但我不想让用户在我需要访问它时必须做任何事情.有任何想法吗?
更新:我决定使用我原来的脚本计划来创建反向ssh隧道.虽然其他建议的解决方案,如端口敲击更像我真正想做的事情,在这种情况下,除了让用户通过配置,我没有任何配置路由器的权限.不寒而栗
解决方法
It has less to do with being concerned
with a port being open and more to do
with not wanting to walk a user though
the process of opening up a port. I
don’t have any access to this router
at all unfortunately.
如果更改路由器是完全不可能的,您可能需要查看像Hamachi这样的P2P或VPN解决方案.如果您将系统设置为在启动时自动建立VPN连接,那么您应该能够在需要时连接至. Hamachi为您完成所有防火墙协商.一个缺点是,当您需要连接时,您必须依赖Hamachi服务器正常运行.
如果您的服务器始终处于启动状态,则可以设置autossh,以便远程系统始终打开隧道并连接到您的服务器.一个缺点是远程系统受到攻击,攻击者将获得用于建立ssh会话的密钥.保持接受ssh连接的系统真正锁定非常重要.
以下是我的原始答案,我曾假设更新路由器是一个选项.
如果防火墙支持,您可能需要调查的一个解决方案是port knocking.对于某些防火墙,应该可以发送防火墙注意到的一组特殊数据包,然后通过防火墙暂时打开漏洞.
有许多实现比其他实现更好.一些人使用强大的加密技术使没有正确钥匙的人几乎不可能发送正确的敲门声.