HCRM博客

轻松修改 CentOS SSH 端口教程

CentOS SSH端口修改:强化安全的关键一步

SSH作为远程管理CentOS服务器的核心工具,其默认端口22如同敞开的大门,成为自动化攻击脚本的首要目标,修改默认SSH端口是服务器基础安全加固中至关重要的一步,以下是在CentOS 7/8系统上安全修改SSH端口的详细操作指南:


第一步:选择并验证新端口

  1. 避开常用端口: 不要选择常见服务端口(如80, 443, 21, 23, 25, 53等)或低端口(<1024),建议在 1024-65535 范围内选取,23456
  2. 检查端口占用: 执行命令确保新端口未被占用:
    sudo ss -tulnp | grep ':你的新端口号'

    若无任何输出,说明端口可用。

    轻松修改 CentOS SSH 端口教程-图1

第二步:修改SSH服务配置

  1. 使用文本编辑器打开SSH主配置文件:
    sudo vi /etc/ssh/sshd_config
  2. 定位 #Port 22 行(通常在文件靠前位置)。
  3. 取消注释并修改:
    • 删除行首的 符号。
    • 22 改为你选择的新端口号(Port 23456)。
      # 查找并修改此行
      Port 23456
  4. 保留原有22端口(可选但推荐): 在新端口下方添加一行 Port 22,首次修改时保留旧端口,可防止配置错误导致无法连接,测试新端口成功后再移除。
  5. 保存并退出编辑器(vi中按 Esc,输入 :wq,回车)。

关键提示: 务必确保至少有一个 Port 指令未被注释且设置正确,同时配置新旧端口是测试期的安全网。


第三步:配置系统防火墙

CentOS 7/8 使用firewalld:

  1. 添加新端口到防火墙允许规则:
    sudo firewall-cmd --permanent --add-port=你的新端口号/tcp
    # sudo firewall-cmd --permanent --add-port=23456/tcp
  2. (首次修改建议保留) 暂时不移除22端口规则,测试成功后再移除:
    sudo firewall-cmd --permanent --remove-port=22/tcp
  3. 重载防火墙使更改生效:
    sudo firewall-cmd --reload
  4. 验证规则:
    sudo firewall-cmd --list-ports

(如使用iptables) 需编辑规则并保存。


第四步:处理SELinux策略

CentOS默认启用SELinux,需告知它新的SSH端口:

sudo semanage port -a -t ssh_port_t -p tcp 你的新端口号
# sudo semanage port -a -t ssh_port_t -p tcp 23456

验证更改:

sudo semanage port -l | grep ssh

应能看到 ssh_port_t tcp 你的新端口号, 22 (或其他原有端口)。

轻松修改 CentOS SSH 端口教程-图2

第五步:重启SSH服务并测试

  1. 重启SSH服务应用新配置:
    sudo systemctl restart sshd
  2. 切勿关闭当前连接! 打开新终端窗口,使用新端口连接测试:
    ssh 用户名@服务器IP地址 -p 你的新端口号
    # ssh admin@192.168.1.100 -p 23456
  3. 确认新端口连接成功: 成功登录后,才可进行下一步。

第六步:禁用默认22端口(最终加固)

  1. 重新编辑 /etc/ssh/sshd_config
    sudo vi /etc/ssh/sshd_config
  2. 找到之前添加的 Port 22 行,将其注释掉(行首加)或直接删除该行,确保只保留新端口行(如 Port 23456)。
  3. 保存退出。
  4. 从防火墙永久移除22端口(如果之前未移除):
    sudo firewall-cmd --permanent --remove-port=22/tcp
    sudo firewall-cmd --reload
  5. 再次重启SSH服务:
    sudo systemctl restart sshd
  6. 使用新端口再次测试连接,并尝试用旧端口22连接(应无法连接)

关键安全建议与注意事项

  • 强密码与密钥认证: 修改端口仅为基础防护。必须禁用root密码登录(PermitRootLogin no),强制使用SSH密钥对认证(PasswordAuthentication no),并为普通用户设置高强度密码。
  • Fail2Ban防护: 安装配置Fail2Ban,自动封锁多次尝试失败的IP地址,有效抵御暴力破解。
  • 端口选择独特性: 避免使用他人可能猜测到的“常见”高位端口。
  • 配置备份: 修改关键配置文件前,务必备份(如 sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak)。
  • 连接稳定性: 确保网络环境可靠,避免重启sshd时因网络波动导致连接中断。
  • 记录端口号: 将新端口号记录在安全可靠的地方,避免遗忘。

修改SSH默认端口是服务器安全防护体系中简单却有效的一环,能显著减少日志中的恶意扫描记录,提升攻击门槛,这绝非一劳永逸的措施,服务器的稳固安全依赖多层次防御:及时更新系统补丁、配置严格的防火墙策略、实施最小权限原则以及持续的安全审计缺一不可,每一次成功的远程管理,都始于一道经过精心加固的入口。

轻松修改 CentOS SSH 端口教程-图3

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/35531.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~