SSH(Secure Shell)是一种常用的网络协议,主要用于在不安全的网络上安全地管理计算机和设备。默认情况下,SSH服务监听的端口是22,但由于这个端口是黑客攻击的热门目标,将SSH端口修改为一个非默认值能够增强系统的安全性。本文将详细介绍如何在Linux中安全地修改SSH默认端口设置。
第一步:备份SSH配置文件
在进行任何更改之前,备份当前的SSH配置文件是非常重要的。打开终端,使用以下命令进行备份:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
通过运行此命令,您将创建一个名为“sshd_config.bak”的备份文件,以便在出现问题时可以恢复。
第二步:修改SSH配置文件
接下来,您需要编辑SSH的配置文件“sshd_config”。使用文本编辑器(如vim或nano)打开该文件:
sudo nano /etc/ssh/sshd_config
在文件中找到以下行:
#Port 22
去掉行首的“#”,然后将22修改为您选择的新端口号,例如2222:
Port 2222
请注意,选择的端口号应在1024到65535之间,并且不应与其他服务的端口号冲突。可以通过以下命令查看当前运行的服务和它们的端口:

sudo netstat -tuln
第三步:更新防火墙设置
修改SSH端口后,您需要确保防火墙允许新的端口通过。对于使用`ufw`(Uncomplicated Firewall)的系统,可以使用以下命令允许新的SSH端口:
sudo ufw allow 2222/tcp
如果您使用的是`firewalld`,则可以执行以下命令:
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
确保新端口已经成功添加后,可以使用以下命令查看防火墙规则:
sudo ufw status
第四步:重启SSH服务
更改配置文件和防火墙设置完成后,您需要重启SSH服务使更改生效。可以使用以下命令重启SSH:
sudo systemctl restart sshd
第五步:测试新的SSH连接
在终端中打开一个新的会话,尝试使用新端口连接到SSH。如果您使用的是Linux或macOS,可以输入以下命令:
ssh -p 2222 username@your_server_ip
确保将“username”和“your_server_ip”替换为实际的用户名和服务器IP地址。如果一切正常,您应该能够通过新的端口成功连接到SSH。
第六步:禁用默认SSH端口(可选)
如果您希望进一步增强安全性,可以考虑在SSH配置文件中禁用默认端口。只需在“sshd_config”文件中添加以下行:
Port 22
同时需要确保下面的“Port 2222”位于该行之下。如果您不希望默认端口保持激活,则请注释掉这一行,如下所示:
#Port 22
通过以上步骤,您可以在Linux中安全地修改SSH的默认端口,有效降低被恶意攻击的风险。在进行更改时,请务必小心,并保持当前SSH会话的开放,以防止因配置错误而完全锁定自己。此外,定期检查系统安全性和更新SSH设置也是保持服务器安全的关键。遵循最佳实践,确保您的Linux服务器保持安全和高效运行。