2025-05-19 11:40:26
290

如何安全配置SSH端口(22)以防止未经授权的访问

摘要
SSH(Secure Shell)是一种用于远程登录和执行命令的安全协议,它使用默认端口22进行通信。为了确保服务器的安全性并防止未经授权的访问,我们需要对SSH端口进行适当的配置。 更改默认端口 更改默认端口是增强SSH安全性的一种简单有效的方法。攻击者通常会扫描常见的服务端口,例如22,以寻找潜在的目标。通过将SS…...

SSH(Secure Shell)是一种用于远程登录和执行命令的安全协议,它使用默认端口22进行通信。为了确保服务器的安全性并防止未经授权的访问,我们需要对SSH端口进行适当的配置。

更改默认端口

更改默认端口是增强SSH安全性的一种简单有效的方法。攻击者通常会扫描常见的服务端口,例如22,以寻找潜在的目标。通过将SSH服务移动到一个非标准端口上,可以减少自动扫描工具发现该服务的机会。要更改SSH端口,请编辑/etc/ssh/sshd_config文件,并找到以下行:

Port 22

将其更改为其他数字,如2222或更高。保存文件后重启SSH服务使更改生效。

限制用户访问

仅允许特定用户或用户组通过SSH访问系统可以进一步提高安全性。可以通过修改sshd_config文件来实现这一点。添加如下内容:

AllowUsers user1 user2

这将只允许列出的用户通过SSH登录。同样地,也可以使用 AllowGroups 来指定允许哪些用户组成员登录。

禁用root登录

直接以root身份登录存在很大风险,因为如果密码被破解,攻击者就可以获得完全控制权。因此建议禁用root用户的远程登录权限。在sshd_config中找到以下行:

PermitRootLogin yes

将其改为no。这样即使你知道了root密码也无法直接用它来进行远程连接。

启用公钥认证

相比于基于密码的身份验证方式,使用公钥认证更加安全可靠。生成一对密钥对之后,在客户端机器上保留私钥,在服务器端放置公钥。每次发起连接请求时,只需要验证二者是否匹配即可完成身份确认过程。为了开启此功能,需要确保在sshd_config中有如下设置:

PasswordAuthentication no

PubkeyAuthentication yes

同时确保你的主目录、.ssh目录以及authorized_keys文件具有正确的权限。

防火墙规则设置

利用iptables或者ufw等工具为SSH创建严格的防火墙规则也是一种很好的做法。比如只允许来自某些特定IP地址范围内的设备连接到你的SSH端口;或者限制每分钟最大尝试次数等措施都可以有效地抵御暴力破解攻击。

定期审查日志文件

最后但同样重要的是,不要忘记经常查看/var/log/auth.log或其他相关位置记录下来的失败登录尝试信息。任何异常活动都应该引起重视并及时处理。还可以考虑安装类似于Fail2Ban这样的软件来自动阻止恶意IP地址。

声明:文章不代表云主机测评网观点及立场,不构成本平台任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险自担!转载请注明出处!侵权必究!
回顶部