再说一遍, 我们都犯错了 ,而我刚刚犯了一个错误 。
简单的历史logging:当我注意到一些奇怪的行为时,我在租用的VPS(Debian)上做了一些事情。 使用netstat
命令,我看到一个通过SSH的非授权连接。 我不知道该怎么做,所以我决定使用iptables
closures他的连接:
iptables -A INPUT -p tcp --dport ssh -s IP -j DROP
但是我累了,我写了
iptables -A INPUT -p tcp --dport ssh -j DROP
我踢了自己(和其他人)
我该如何解决?
有几个select:
如果您没有控制台访问权限,那么在引导到恢复或将卷附加到另一个虚拟机(如Amazon案例中,信用user3550767的答案)之前,如果您尚未保存规则,则可以先尝试Ankh2054的重新启动答案可能是这样,因为在你有机会拯救之前你已经把自己踢了出来)。 如果初始化脚本正常重启(credit @jfalcon,@joshudson)时自动保存规则,则可以使用控制面板或使用非优雅重置/closures(又称硬重启或硬关机)来重启系统。
权衡这样的缺点(例如在重启过程中写入的数据可能会丢失,并且可能需要在启动时进行文件系统检查,以便延长启动时间,尽pipe这种延迟可能比启动恢复时间要短)。
如果您还没有保存IPtables规则,则可以在VPS上重新启动服务器 (如果可用),规则应该消失。
这是人员配备的帮助热线。 致电服务提供商,让他们的一个操作员为您解除规则。
修复被破坏的实例的一般方法是将其closures并将根卷附加到工作实例上。 然后,您可以在该处安装卷并查看日志或编辑configuration文件。 然后您可以分离音量并在其自己的实例中启动它。
正式答案:进入VPSpipe理面板,以某种方式获得本地访问(虚拟KVM)或调用它们。
为防止再次出现的步骤/规则的解释:
所以,除非你100%确定你可以恢复..我build议总是让重置networkingconfiguration到以前的状态..就像,打开后台会话与screen
, nohup
,或tmux
,即使cron
可能为此工作,并添加iptables -F
或其他所需的手段来重置任何东西到以前的状态。