开发者社区 问答 正文

阿里云ECS-CentOS7修改ssh默认端口


修改了系统的ssh默认端口,但是始终无法连接。用telnet也无法联通。


怀疑是iptables的问题,但是执行命令发现iptables并没有运行。


google一遍,发现centos7的防火墙已经由原来的iptables改为了firewall,经过测试,果然是这个原因。


解决方法如下:
1.centos7的防火墙状态命令:
    firewall-cmd —state

或者
    systemctl status firewalld



2.修改防火墙规则,添加新端口:
    firewall-cmd —add-port=新端口/tcp —permanent
    firewall-cmd —add-port=新端口/udp —permanent
3.重新加载规则:
    firewall-cmd —reload



问题解决

展开
收起
javalxs 2016-12-11 16:51:42 8363 分享 版权
阿里云 AI 助理回答

您已经正确地诊断并解决了问题。CentOS 7中默认的防火墙管理工具确实从iptables变更为firewalld,这在处理网络规则时可能会给习惯使用iptables的用户带来一些困惑。

您的解决步骤概括如下:

  1. 检查firewalld状态:通过命令firewall-cmd --statesystemctl status firewalld来确认firewalld是否正在运行。如果服务未启动,可以通过systemctl start firewalld来启动它。

  2. 永久添加端口到防火墙规则:您需要为SSH的新端口分别添加TCP和UDP规则(如果您的服务需要同时监听这两种协议的话),命令格式为:

    firewall-cmd --add-port=新端口/tcp --permanent
    firewall-cmd --add-port=新端口/udp --permanent
    

    这里的“新端口”应该替换为您实际更改后的SSH端口号。

  3. 重载防火墙规则:修改规则后,必须用firewall-cmd --reload命令来让改动生效。这一步很关键,因为不重载的话,新的规则不会被应用。

此外,如果您希望在系统重启后保留这些规则,您已经通过--permanent选项做到了这一点。如果没有这个标志,所做的更改仅在当前会话中有效。

如果之后您需要查看已打开的端口,可以使用命令firewall-cmd --list-ports

最后,确保在完成所有配置后测试SSH连接,以验证更改是否成功。如果还有其他与阿里云产品相关的问题,或者需要进一步的技术支持,请随时告知。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答