以下情况:我在互联网上运行服务器。服务器在端口22上对任何人关闭,尽管hosts.allow中有例外规则。
因为当我在家里并通过我的提供商连接时,我总是有一个不同的IP地址。然后,我要做的是通过浏览器控制台登录到我的服务器,运行tcpdump ip proto ICMP,从tcpdump输出中取出主机名并编辑/etc/hosts.allow,运行ssh重新启动服务,然后我可以通过ssh (putty)登录到我的服务器。
只要我的服务提供商不更改我的IP地址(大多数情况下发生在夜间),这种方法就可以正常工作。
现在,我要做的就是让这个过程自动化。问题是,我必须告诉我的服务器,是我在pinging。所以我要么用一个秘密模式ping,要么用其他方法证明自己的身份。我也想过在我的网站上点击一个a (ssl安全的)链接,让一些网络服务完成为我坐着的客户打开服务器所需的步骤。
发布于 2017-03-15 17:46:01
您可能会喜欢使用Single Packet Authentication。它是端口敲门方法的演变,其基本思想与您所描述的相同:您在防火墙机器的特定端口上发送带有加密有效负载的单个数据包,然后该数据包被防火墙丢弃。但是,在幕后,如果有效负载中的质询成功,则会在iptables中添加一个规则,以向有效负载的发送方开放端口22。然后,您可以通过ssh连接到服务器。
为方便起见,您可以重新定义ssh函数,该函数首先使用ssh打开防火墙中的门,然后运行ssh并传递参数。它工作得很好。
Fwknop还有一个Android应用程序,可以让你从手机发送加密的有效载荷,并为特定的IP地址打开防火墙。当您从另一台机器进行连接时,您可以使用此选项。
https://stackoverflow.com/questions/42805897
复制相似问题