CentOS防火墙开启22端口,轻松实现远程SSH访问!

在现代服务器管理中,SSH(SecureShell)远程协议已经成为管理员与服务器之间最常用的沟通方式。它通过加密通道保证了数据的安全性,并且能够高效地进行远程登录、文件传输以及执行命令。因此,开启SSH服务并配置防火墙规则,保证远程登录的安全性,是每个系统管理员必须掌握的基本技能。

如果您正在使用CentOS操作系统,并且希望通过SSH连接到远程服务器,那么必须确保系统的防火墙已正确配置,允许通过22号端口进行访问。22端口是SSH默认使用的端口,防火墙需要开放该端口,才能使远程访问变得顺利。

本篇文章将为您详细介绍如何在CentOS系统中开启22端口,确保SSH远程访问正常工作,帮助您实现高效的服务器管理。

一、了解CentOS防火墙

CentOS默认使用的是firewalld防火墙管理工具,它比老旧的iptables更加灵活和高效。firewalld基于区域和服务的概念来配置防火墙规则,不仅支持动态修改规则,还可以在系统运行时实时生效而不需要重启防火墙。

在CentOS中,如果要开启22端口,通常需要在firewalld中配置“允许”规则。可以通过命令行工具firewall-cmd来进行配置。

二、查看当前防火墙状态

在进行端口配置之前,我们首先需要确认当前防火墙是否启用,以及防火墙的运行状态。打开终端,执行以下命令:

sudosystemctlstatusfirewalld

如果防火墙正在运行,您会看到类似下面的信息:

●firewalld.service-firewalld-dynamicfirewalldaemon

Loaded:loaded(/usr/lib/systemd/system/firewalld.service;enabled;vendorpreset:enabled)

Active:active(running)sinceSun2024-12-2308:00:00UTC;5minago

Docs:man:firewalld(1)

MainPID:1234(firewalld)

CGroup:/system.slice/firewalld.service

└─1234/usr/bin/python3/usr/sbin/firewalld–nofork–nopid

如果防火墙没有启用,可以通过以下命令启动它:

sudosystemctlstartfirewalld

为了保证每次启动时防火墙都能自动启动,可以执行:

sudosystemctlenablefirewalld

三、开放22端口

一旦确定防火墙正在运行,我们就可以开始配置防火墙规则了。我们需要检查防火墙当前是否已经允许22端口通过。执行以下命令:

sudofirewall-cmd–list-all

这将列出当前防火墙的所有配置,包括已开启的端口。如果22端口不在允许列表中,那么我们需要手动添加它。

使用下面的命令,允许通过22端口进行SSH连接:

sudofirewall-cmd–zone=public–add-port=22/tcp–permanent

这里的–zone=public表示我们在“公共”区域添加规则。–permanent选项表示该规则将在防火墙重启后继续生效。如果不加–permanent,则仅对当前防火墙会话生效,重启后会失效。

添加规则后,我们需要重新加载防火墙,使更改生效:

sudofirewall-cmd–reload

四、验证端口是否已开放

现在,您可以再次执行以下命令,验证22端口是否已经成功添加到防火墙规则中:

sudofirewall-cmd–list-all

输出中应包含类似以下内容,表明22端口已经开放:

ports:22/tcp

您还可以通过ss命令检查22端口是否正在监听:

ss-tuln|grep22

如果看到类似以下输出,说明22端口正在监听:

tcpLISTEN0128*:22*:*

五、使用SSH远程连接

至此,22端口已经成功开启,您可以通过SSH远程连接到您的CentOS服务器了。假设您知道服务器的IP地址(例如:192.168.1.100),可以使用以下命令连接:

sshusername@192.168.1.100

其中,username是您的服务器用户名,192.168.1.100是您的服务器IP地址。如果是第一次连接,系统会提示您验证主机密钥,确认后即可继续。

如果连接成功,您将看到如下的欢迎信息,并进入服务器命令行界面:

Theauthenticityofhost’192.168.1.100’can’tbeestablished.

RSAkeyfingerprintisSHA256:xxxxxxxxxxxxxxxxxx.

Areyousureyouwanttocontinueconnecting(yes/no)?yes

输入yes确认连接,接着输入用户密码,即可登录成功。

六、确保安全性:禁用Root用户SSH登录

虽然SSH提供了强大的远程管理功能,但默认情况下,CentOS允许以root用户直接登录。这为攻击者提供了潜在的风险。为了提高服务器的安全性,强烈建议禁用root用户的SSH远程登录,只允许普通用户登录后使用sudo进行管理。

打开SSH配置文件:

sudovim/etc/ssh/sshd_config

找到以下行,并修改为:

PermitRootLoginno

保存并退出文件。

重新启动SSH服务,使配置生效:

sudosystemctlrestartsshd

此时,您已经成功禁用了root用户的SSH登录,只能使用普通用户进行远程访问。

七、使用防火墙增强安全性

为了进一步提升CentOS服务器的安全性,您还可以通过防火墙配置更加精细的规则,限制SSH连接的来源IP地址。例如,如果您只允许某个特定IP(如192.168.1.10)连接到SSH服务,您可以使用以下命令:

sudofirewall-cmd–zone=public–add-rich-rule=’rulefamily=”ipv4″sourceaddress=”192.168.1.10″portport=”22″protocol=”tcp”accept’–permanent

然后,重新加载防火墙配置:

sudofirewall-cmd–reload

通过这种方式,只有指定IP的用户才能通过SSH连接到服务器,极大减少了暴力破解的风险。

八、总结

通过本文的详细步骤,您已经成功在CentOS系统中开启了22端口,配置了防火墙规则,确保了SSH远程连接的安全性。我们还介绍了如何禁用root用户SSH登录,以及如何根据IP地址限制SSH访问,从而提升系统的安全性。

无论是日常运维还是应急处理,SSH远程管理都是管理CentOS服务器时必不可少的工具。通过合理配置防火墙并加强安全性设置,您可以更好地保障服务器的稳定运行和数据安全。

希望这篇文章能够帮助您顺利配置CentOS防火墙,开启SSH访问,提升您的服务器管理效率!

未经允许不得转载:我爱VPS » CentOS防火墙开启22端口,轻松实现远程SSH访问!

相关文章

评论 (0)