我意外地禁止了与远程服务器的 SSH 连接...下一步该怎么办?

我意外地禁止了与远程服务器的 SSH 连接...下一步该怎么办?

我们再说一遍,我们都会犯错,我刚刚做了一个。

简要历史:我在租用的 VPS(Debian)上做一些事情时,注意到了一些奇怪的行为。使用命令时,netstat我看到了通过 SSH 的未经授权的连接。我不知道该怎么做,所以我决定使用以下命令关闭他的连接iptables

iptables -A INPUT -p tcp --dport ssh -s IP -j DROP

但我很累,我写道

iptables -A INPUT -p tcp --dport ssh -j DROP

然后我把自己(和所有人)踢出去了……

我该如何解决?

答案1

还有几种替代方案:

  • 查看他们是否具有 IPMI /“KVM”/控制台对服务器的访问权限,这样您就可以像插入物理键盘一样控制它。
  • 如果他们不提供该服务,请查看是否可以将 VM 启动到恢复 Linux CD(某些提供商提供此功能),然后通过这种方式更正防火墙规则,然后像正常一样启动它。
  • 如果您没有控制台访问权限,在启动恢复或将卷连接到另一个虚拟机之前(如 Amazon 的情况,感谢 user3550767 的回答),您可以尝试 Ankh2054 的回答,即如果您尚未保存规则(很可能是因为您在有机会保存之前就退出了),则先重新启动。使用控制面板或请某人使用非正常重置/关机(也称为硬重启或硬关机)对其进行电源循环,以防 init 脚本在正常重启时自动保存规则(感谢 @jfalcon、@joshudson)。

    权衡这样做的缺点(例如,重启期间写入的数据可能会丢失,并且在启动时可能需要检查文件系统,因此启动时间会更长,尽管该延迟可能比启动到恢复的时间要短)。

答案2

如果你还没有保存 IPtables 规则,你可以重启 VPS 上的服务器(如果可用)并且规则应该消失。

答案3

这就是人工帮助热线的作用。致电服务提供商,让他们的接线员为您移除规则。

答案4

正式答复:进入 VPS 管理面板,以某种方式获取本地访问权限(虚拟 KVM)或致电他们。

解释防止再次上当的步骤/规则:

  1. IP、路由和防火墙规则的变化可能会出现问题并阻止您的访问。
  2. 并且它也适用于专用网络设备配置,而不仅适用于 VPS。

因此,除非您 100% 确定可以恢复,否则我建议始终找到一种方法将网络配置重置为以前的状态,例如,使用screennohup或打开后台会话tmux,甚至cron可能适用于此,并添加iptables -F或其他所需方法将任何内容重置为以前的状态。

相关内容