在 CentOS 系统中,使用 iptables 允许 SSH 连接的步骤如下:
检查 SSH 服务状态: 确保 SSH 服务正在运行。你可以使用以下命令来检查:
sudo systemctl status sshd
如果服务未运行,可以使用以下命令启动它:
sudo systemctl start sshd
允许 SSH 连接:
默认情况下,SSH 使用端口 22。你可以使用 iptables 命令来允许来自任何 IP 的连接。以下命令将允许 TCP 端口 22 的流量:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
保存 iptables 规则:
CentOS 7 及以上版本使用 firewalld 作为默认防火墙管理工具,而不是 iptables。如果你使用的是 firewalld,可以使用以下命令来允许 SSH 连接:
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
如果你确实需要使用 iptables 并且希望保存规则,可以使用以下命令:
sudo service iptables save
或者,对于 CentOS 8 及以上版本,可以使用 firewalld 来管理 iptables 规则。
验证规则:
你可以使用以下命令来查看当前的 iptables 规则,确保 SSH 规则已添加:
sudo iptables -L -n
查找类似于以下的规则:
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
重启 SSH 服务(可选): 如果你刚刚修改了 SSH 配置文件或防火墙规则,可能需要重启 SSH 服务以使更改生效:
sudo systemctl restart sshd
通过以上步骤,你应该能够成功允许 SSH 连接到你的 CentOS 系统。