
在现代开发环境中,安全性是一个不可忽视的部分。SSH(安全外壳协议)为我们提供了一种安全的方式来访问远程服务器。然而,默认的 SSH 端口(22)常常成为恶意攻击的目标。因此,更改 SSH 端口可以增加一个额外的安全层。本文将详细介绍如何在基于 Linux 的服务器中更改 SSH 端口,并确保这一过程顺利进行。
准备工作
在开始之前,确保你拥有以下内容:
- 根用户权限:为了更改 SSH 设置,你需要具有根用户或 sudo 权限。
- SSH 客户端:确保你的本地计算机上安装了终端或命令行工具,并且你可以正常连接到远程服务器。
- 备份配置文件:在进行更改之前,请务必备份 SSH 配置文件,以防出现问题。
更改 SSH 端口的详细步骤
步骤 1:登录到服务器
使用 SSH 客户端登录到你的远程服务器,命令如下:
ssh username@your_server_ip
替换 username 和 your_server_ip 为你的用户名和服务器的实际 IP 地址。
步骤 2:备份当前的 SSH 配置
在继续操作之前,备份 SSH 配置文件。执行以下命令:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
这将创建一个名为 sshd_config.bak 的备份文件。
步骤 3:编辑 SSH 配置文件
使用文本编辑器打开 SSH 配置文件,以下示例使用 nano 编辑器:
sudo nano /etc/ssh/sshd_config
在打开的文件中找到以下行:
#Port 22
将其修改为你想要使用的新端口号,例如 2222:
Port 2222
步骤 4:调整防火墙设置
确保新的端口号在防火墙中开放。以 ufw 为例,执行以下命令:
sudo ufw allow 2222/tcp
若你使用的是 iptables,可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
记得保存 iptables 规则以确保重启后仍然生效。
步骤 5:重启 SSH 服务
更改 SSH 端口后,需要重启 SSH 服务使更改生效,执行以下命令:
sudo systemctl restart sshd
步骤 6:测试新的 SSH 连接
在新的终端窗口中,测试新端口的连接,确保不关闭现有的 SSH 会话,以防出错。运行以下命令:
ssh -p 2222 username@your_server_ip
如果成功连接,说明更改已生效。
注意事项与故障排除
在更改 SSH 端口的过程中,可能会遇到以下问题:
- 无法连接:如果无法连接,请确保在防火墙中开放新端口,并重启了 SSH 服务。
- 丢失连接:记得在测试新的连接时,保持原有连接窗口开启,以防连接失败导致无法访问服务器。
- 配置文件语法错误:在编辑 sshd_config 时,任何多余的空格或错误的字符都会导致 SSH 服务无法启动。可以用 sshd -t 命令检查配置文件的正确性。
总结
通过以上步骤,你已经成功更改了 SSH 的默认端口,提高了服务器的安全性。在未来的操作中,记得定期检查和更新安全配置,包括监控 SSH 连接和更新系统防火墙规则。将 SSH 端口更改为非默认值是加强服务器安全的简单而有效的方法。



