WE 云鲸引擎 Whale Engine
HELP DETAIL

帮助文档

查看详细操作说明,如仍有疑问,可在会员中心提交工单联系技术支持。

Linux系统SSH端口修改与安全配置指南

云服务器 2026-07-01 浏览 83

备份与修改SSH配置文件

修改前务必备份原始文件,防止配置错误导致服务无法启动。使用文本编辑器(如vinano)打开配置文件:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak sudo vi /etc/ssh/sshd_config

找到默认被注释的Port 22行,删除行首的#,并修改为新端口(例如2222):

Port 2222

注意:端口范围需在1-65535之间,且避免与其他服务冲突。

 

 

重启SSH服务

根据系统使用的服务管理工具选择命令:

# 使用systemctl(推荐) sudo systemctl restart sshd # 或使用service命令(旧版系统) sudo service ssh restart

验证服务状态

sudo systemctl status sshd # 或 sudo service ssh status

更新防火墙规则

若系统启用了防火墙(如firewalldufwiptables),需放行新端口:

  • firewalld(CentOS/RHEL):

     
    sudo firewall-cmd --zone=public --add-port=2222/tcp --permanent sudo firewall-cmd --reload
  • ufw(Ubuntu/Debian):

     
    sudo ufw allow 2222/tcp sudo ufw reload
  • iptables(通用):

     
    sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT # 保存规则(根据系统不同) sudo service iptables save

验证端口修改

  • 本地测试
     
    ssh -p 2222 username@localhost
  • 远程测试
     
    ssh -p 2222 username@your_server_ip
  • 检查端口监听
     
    sudo netstat -tulnp | grep sshd # 或 sudo ss -tulnp | grep sshd

常见问题解决

SELinux拒绝访问

若重启后服务失败,可能是SELinux阻止了新端口。临时解决方案:

sudo setenforce 0 # 临时关闭SELinux(不推荐长期使用)

永久解决方案:修改SELinux策略或放行端口:

sudo semanage port -a -t ssh_port_t -p tcp 2222

防火墙未放行端口

确保防火墙规则已正确添加,并通过firewall-cmd --list-portsufw status检查。

 

配置文件语法错误

修改前可使用以下命令检查语法:

sudo sshd -t

代码示例(完整流程)

#!/bin/bash # 备份配置文件 sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak # 修改端口(假设新端口为2222) sudo sed -i 's/^#Port 22/Port 2222/' /etc/ssh/sshd_config # 重启SSH服务 sudo systemctl restart sshd # 更新防火墙(以firewalld为例) sudo firewall-cmd --zone=public --add-port=2222/tcp --permanent sudo firewall-cmd --reload echo "SSH端口已修改为2222,请测试连接:ssh -p 2222 username@your_server_ip"