被iptables锁定后,如何重新获得SSH访问?


10

TL:DR

我对iptables配置进行了更改,现在SSH拒绝了所有连接。我可以在不联系托管公司的情况下解决此问题吗?


长版

好吧,这很可能是我自己的错100%...

为了将网站迁移到专用服务器,我们准备了运行CentOS 5.6的新托管计算机。该机器的iptables已被锁定,仅允许ssh(22)和http(80),但我们还需要它通过端口20 en 21接受FTP。

今天下午,我在iptables中添加了行,以接受到端口20和21的传入连接。起初,这没有用,因为在reject all我为ftp添加的行上方有一行。因此,我将该行向下移动到底部,保存并重新启动了iptables,ftp正常运行。

2小时后,当我尝试再次连接时,port 22: Connection refused http相同。

因此,我无法通过SSH到达服务器,有什么办法可以在不联系托管公司的情况下解决此问题?

Answers:


13

抱歉不行。除非您有其他可用的管理界面(例如远程串行控制台,iDRAC,iLO等),否则请进行整理。在下次注销之前,请先进行体验并记住要测试设置;)


12
或者,如果您尝试使用iptables,请确保您临时设置了一个cron作业,该作业每15分钟重置一次规则集。
mailq

1
获得的经验教训:)
Jan Henckens 2011年

您如何使用iDRAC启用SSH端口22?
2011年

@ terrid25,您将使用串行控制台登录,侦听iDRAC允许您访问的串行端口。然后,您可以修复iptables并以自己的方式进行。当然,如果没有使用远程控制台设置带外内容,那么您将像朋友一样陷入困境,根本没有远程管理。
Michael Lowman

7

假设您仍然可以ftp到服务器,并且可以通过ftp以root身份登录(不太可能和通常情况下不建议这样做)到非chroot(等)环境中:

将包含以下内容的文件放在/etc/cron.d中:

* * * * * root /sbin/service iptables stop 

这对我有所帮助,因为我可以远程连接恢复映像并访问文件系统。
Daniel W.

0

按照这些说明,您还可以添加:

scripts2/doautofixer?autofix=iptablesflush

...到您的WHM网址。我做到了,最后得到一个URL:

https://mysite:2087/SESSION_ID/scripts2/doautofixer?autofix=iptablesflush

它重设了我的iptables,世界再次恢复了美好。:)


0

在CentOS中,/etc/sysconfig/iptables如果您没有该文件,则拥有该文件,只需使用iptables-save将当前规则集转储到文件中即可创建它。

iptables-save > /etc/sysconfig/iptables

要加载不需要重启机器的文件,可以使用 iptables-restore

iptables-restore < /etc/sysconfig/iptables
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.