服务器测评网
我们一直在努力

服务器怎么打开22端口号,Linux防火墙如何放行

在服务器运维管理中,开启22端口是实现SSH远程连接的基础前提。核心上文归纳是:要成功打开服务器的22端口,必须完成两个关键层面的配置,即操作系统内部防火墙放行22端口以及云服务商安全组入站规则的添加,同时确保SSH服务处于正常运行状态。 任何一层的缺失都会导致远程连接失败,以下是详细的操作步骤与专业解析。

服务器怎么打开22端口号,Linux防火墙如何放行

理解22端口与SSH服务的重要性

22端口是SSH(Secure Shell)协议默认监听的端口,用于加密方式远程登录到服务器,进行命令行管理和文件传输,在尝试开启端口之前,必须明确,仅仅开启端口是不够的,服务器上必须运行着SSH服务(通常是sshd进程),如果SSH服务未启动或已崩溃,即使端口全开,也无法建立连接,操作逻辑应遵循“检查服务状态 -> 配置系统防火墙 -> 配置云安全组”的顺序。

操作系统级防火墙配置

操作系统层面的防火墙是服务器的第一道防线,常见的Linux发行版如CentOS、Ubuntu等,使用的防火墙管理工具不同,需要分别处理。

对于CentOS 7、CentOS 8、Alibaba Cloud Linux等系统
这类系统默认使用firewalld作为防火墙管理工具,配置22端口需要使用firewall-cmd命令,需要检查防火墙运行状态,确保firewalld正在运行,随后,执行放行命令。关键命令如下:
firewall-cmd --zone=public --add-port=22/tcp --permanent
此命令的含义是在public区域(默认对外区域)中,永久添加TCP协议的22端口。注意“–permanent”参数至关重要,它表示规则在重启后依然有效,执行完毕后,必须运行firewall-cmd --reload重载防火墙配置,使规则立即生效。

对于Ubuntu、Debian系统
这类系统通常使用ufw(Uncomplicated Firewall)作为防火墙工具,操作相对简便。核心命令为:
ufw allow 22
或者指定协议:
ufw allow 22/tcp
执行后,系统会自动将22端口添加到允许列表中,如果防火墙尚未启用,执行ufw enable即可开启防火墙并应用规则,对于使用iptables的老版本系统,则需要手动编写规则链,但这在现代运维中已较少直接操作,通常建议通过管理工具或脚本维护。

云服务商安全组配置

在当今的云计算时代,绝大多数服务器部署在阿里云、腾讯云、华为云或AWS等平台上。云安全组是作用于服务器实例之外的虚拟防火墙,其优先级往往高于系统内部防火墙。 即使你在Linux内部放行了所有端口,如果安全组中没有放行22端口,外部流量依然会被云厂商的网关拦截。

配置安全组通常需要登录云服务商的控制台。专业操作步骤如下:

服务器怎么打开22端口号,Linux防火墙如何放行

  1. 找到目标实例所在的“安全组”设置页面。
  2. 点击“配置规则”或“添加入站规则”。
  3. 协议类型选择TCP。
  4. 端口范围填写22,或者如果是自定义SSH端口,填写相应端口。
  5. 授权对象填写IP地址。出于安全考虑,不建议直接填写0.0.0.0/0(代表所有IP均可访问)。 建议限制为管理员的固定公网IP,例如0.113.0/24,这样能极大降低被暴力破解的风险。
  6. 保存规则,通常云安全组的规则是实时生效的,无需重启服务器。

验证端口状态与故障排查

完成上述配置后,需要验证22端口是否真正处于监听状态,可以使用netstatss命令在服务器内部查看。
推荐命令:
ss -tulnp | grep 22
如果输出中包含LISTEN状态,且显示为sshd服务,说明服务与端口绑定正常。

在本地电脑上,可以使用telnetnc工具测试连通性。
telnet <服务器公网IP> 22
如果出现ConnectedEscape character is...字样,说明网络链路通畅,22端口开启成功,如果提示Connection refused,通常是系统防火墙未开或SSH服务挂掉;如果提示Connection timed out,则通常是云安全组未配置或网络不通。

安全加固与专业建议

开启22端口意味着将服务器的控制权暴露在公网之下,因此必须采取专业的安全加固措施。

禁止Root用户直接登录
黑客通常首先尝试暴力破解Root密码,修改/etc/ssh/sshd_config文件,设置PermitRootLogin no,强制使用普通用户登录,再通过susudo提权。

修改默认SSH端口是开启22端口,但从专业角度建议,在熟悉操作后,将SSH端口修改为高位随机端口(如22222),这能规避绝大多数基于端口的自动化扫描脚本,修改后记得在防火墙和安全组中同步放行新端口,并关闭22端口。

密钥认证优于密码认证
强制要求使用SSH密钥对进行登录,禁用密码认证。PasswordAuthentication no,这能从根本上杜绝暴力破解。

服务器怎么打开22端口号,Linux防火墙如何放行

部署Fail2ban
安装Fail2ban工具,它可以监控日志文件,当检测到某个IP在短时间内多次登录失败时,自动利用防火墙规则将该IP封禁,有效防御恶意扫描。

相关问答

Q1:我已经在服务器内部开启了防火墙的22端口,为什么还是无法远程连接?
A: 这种情况通常是因为忽略了云服务商的“安全组”设置,云服务器有两层防护,一层是系统内的iptables或firewalld,另一层是云厂商的安全组,如果安全组中没有配置“入站方向”允许TCP 22端口的规则,流量在到达服务器操作系统之前就会被拦截,请务必检查云控制台的安全组配置。

Q2:开启22端口会不会有安全风险?如何降低风险?
A: 开启22端口必然带来安全风险,因为它是黑客攻击的首要目标,降低风险的核心措施包括:限制来源IP(仅允许办公网IP访问)、使用SSH密钥替代密码登录、禁止Root直接登录、以及安装如Fail2ban之类的防暴力破解工具,条件允许的情况下,建议通过VPN接入内网后再连接服务器,避免将22端口直接暴露在公网。

希望以上详细的操作步骤和专业建议能帮助您顺利开启服务器的22端口,如果您在配置过程中遇到特定的报错信息,欢迎在下方留言,我们将为您提供针对性的故障排查方案。

赞(0)
未经允许不得转载:好主机测评网 » 服务器怎么打开22端口号,Linux防火墙如何放行