修改 SSH 远程访问端口的完整指南
2026/9/1 10:21:47 网站建设 项目流程

修改 SSH 远程访问端口的完整指南

为了提升服务器的安全性,避免常见的暴力破解攻击,默认的 SSH 端口(22)通常是最先被扫描的目标。本文将详细介绍如何更改 SSH 的监听端口,包括配置防火墙、SELinux 设置以及服务重启等关键步骤。

一、修改 SSH 配置文件

首先我们需要编辑sshd_config文件:

sudovim/etc/ssh/sshd_config

在文件中找到如下行:

#初始是注释的,表示默认22 #Port 22

将其取消注释并添加新的端口号(例如:2234):

Port 22 Port 2234

💡 建议暂时保留Port 22行,以便在新端口出现问题时仍能通过默认端口连接。

最终配置类似这样:

Port 22 Port 2234

二、配置防火墙规则

确保新端口已在防火墙中放行:

# 查看当前开放的端口firewall-cmd --zone=public --list-ports# 若没有显示 2234/tcp,则添加该端口firewall-cmd --add-port=2234/tcp --permanent# 重新加载防火墙规则firewall-cmd --reload

三、配置 SELinux(如果启用)

如果你的系统启用了 SELinux,还需要为其添加 SSH 新端口策略:

# 检查 SELinux 状态sestatus# 添加端口到 SELinux 规则中semanage port -a -t ssh_port_t -p tcp2234

⚠️ 如果提示命令不存在,请安装 policycoreutils-python 包:

sudoyuminstallpolicycoreutils-python

四、重启 SSH 服务

完成以上配置后,重启sshd服务使更改生效:

sudosystemctl restart sshd

你可以使用以下命令检查服务是否运行正常:

sudosystemctl status sshd

五、验证连接

现在尝试使用新端口进行 SSH 登录:

sshusername@your_server_ip -p2234

若能够顺利登录,说明新端口已经成功启用。

六、安全加固建议

1. 关闭默认端口(22)

确认新端口工作无误之后,可以考虑关闭默认端口以提高安全性:

  • 编辑/etc/ssh/sshd_config文件,注释掉或删除Port 22
  • 执行以下命令从防火墙中移除 22 端口:
firewall-cmd --remove-port=22/tcp --permanent firewall-cmd --reload

最后再次重启sshd服务:

sudosystemctl restart sshd

2. 禁止 root 用户直接登录

/etc/ssh/sshd_config中设置:

PermitRootLogin no

3. 启用密钥认证(推荐)

同样在配置文件中开启公钥认证:

PubkeyAuthentication yes

并将用户的公钥放置于~/.ssh/authorized_keys文件中。

4. 限制允许登录的用户

可以通过指定用户名的方式进一步限制访问权限:

AllowUsers your_username

这会阻止其他非授权用户登录系统。

总结

通过上述步骤,你可以轻松地更改 SSH 默认端口,从而显著降低遭受自动化攻击的风险。此外,配合 SELinux 和防火墙策略,还能实现更加严格的访问控制机制。记住,在做任何网络层面的变更前都要做好备份和测试!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询