如何在 Linux 系统上更改 SSH 服务端口以增强服务器安全性

SSH 服务器默认使用 22 端口,这使得攻击者可以轻松识别并尝试攻击 SSH 服务。为了增加服务器的安全性,建议更改默认的 SSH 端口。本文将详细介绍如何在 Linux 系统上更改 SSH 服务端口,并包含一些最佳实践和注意事项。

1. 检查新的 SSH 端口是否被占用

在更改 SSH 端口之前,首先应检查所选的新端口是否已经被其他服务占用。可以使用以下命令检查特定端口是否已被占用:

sudo netstat -tuln | grep [PORT_NUMBER]

[PORT_NUMBER] 替换为您计划使用的新端口号。如果命令没有返回任何结果,表示该端口是空闲的,可以使用。

2. 编辑 SSH 配置文件

SSH 服务器的配置文件通常位于 /etc/ssh/sshd_config。使用文本编辑器(如 vinano)打开该文件:

sudo vi /etc/ssh/sshd_config

找到以下行:

#Port 22

取消注释,并将 22 修改为您想要使用的新端口号。例如,如果希望将 SSH 端口更改为 4444,修改如下:

Port 4444

注意:确保您选择的端口不被保留或常用服务占用,建议选择一个较高的端口号(如 1024 以上)。

3. 修改防火墙规则

如果您的服务器使用了防火墙(如 iptablesfirewalld),您需要允许新的 SSH 端口通过防火墙。

firewalld

sudo firewall-cmd --permanent --zone=public --add-port=4444/tcp
sudo firewall-cmd --reload

iptables

sudo iptables -A INPUT -p tcp --dport 4444 -j ACCEPT
sudo service iptables save
sudo service iptables restart

注意:在更新防火墙规则后,建议不要立即删除旧的 22 端口规则,先测试新端口是否正常工作后再进行移除操作。

4. 重启 SSH 服务

完成配置文件和防火墙规则的更改后,需要重启 SSH 服务使更改生效:

sudo systemctl restart sshd

在 CentOS 或 RHEL 系统上,也可以使用以下命令:

sudo service sshd restart

注意:在远程管理的情况下,建议保持现有 SSH 会话打开,直到确认可以通过新端口连接成功后再关闭旧的会话。

5. 测试新的 SSH 端口

更改后,测试新端口以确保 SSH 服务正常运行:

ssh -p 4444 username@your_server_ip

注意:使用 ssh -p [PORT_NUMBER] 参数指定连接的新端口号。

6. 清理旧的防火墙规则(可选)

如果新端口测试通过,且确认不再需要通过默认的 22 端口访问 SSH,可以将防火墙规则中的端口 22 删除:

firewalld

sudo firewall-cmd --permanent --zone=public --remove-port=22/tcp
sudo firewall-cmd --reload

iptables

sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPT
sudo service iptables save
sudo service iptables restart

7. 其他注意事项

  • 端口范围:尽量选择一个不常用的高端口,避免与其他服务冲突。

  • SELinux:如果系统启用了 SELinux,可能需要为新端口配置适当的策略。使用以下命令添加新的端口号到 SELinux 规则中:

    sudo semanage port -a -t ssh_port_t -p tcp 4444
    
  • 日志检查:更改端口后,建议定期检查 SSH 日志 (/var/log/auth.log/var/log/secure) 以确保没有未授权的访问尝试。

总结

通过更改默认的 SSH 端口,可以降低被扫描和攻击的风险。尽管这并不是一个彻底的安全解决方案,但它可以有效地增强服务器的安全性。记得在更改端口后,更新所有相关的配置和规则,确保服务的稳定和安全运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TechCraft

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值