需修改ssh端口以降低攻击风险:一、备份并编辑/etc/ssh/sshd_config,取消port注释并设为1025–65535间新端口;二、重启sshd并验证状态;三、firewalld永久放行新端口并重载;四、若启用selinux,需用semanage授权;五、外部测试ssh -p 新端口连接。

如果您在统信UOS系统中运行SSH服务,但希望降低因使用默认22端口而带来的远程攻击风险,则需主动修改sshd监听端口。以下是修改SSH端口号的具体操作步骤:
一、备份并编辑SSH主配置文件
修改端口前必须保留原始配置副本,以便在新配置异常时快速回退;编辑/etc/ssh/sshd_config可直接控制sshd服务监听行为。
1、执行命令备份原始配置:sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
2、使用vi编辑器打开配置文件:sudo vi /etc/ssh/sshd_config
3、在文件中查找以#Port 22开头的行,删除该行开头的#号,并将22替换为一个未被占用的非特权端口号(建议选择1025–65535之间的数值)
4、确保该行格式为:Port 2222(以2222为例,实际请按需替换)
二、重启SSH服务并验证状态
配置文件修改后,必须重启sshd进程使新端口设置生效;同时需确认服务处于active(running)状态,避免因语法错误导致服务启动失败。
1、执行重启命令:sudo systemctl restart ssh
2、检查服务当前状态:sudo systemctl status ssh
3、若状态显示active (running)且日志中无Failed to start提示,则表示端口变更已加载成功
三、放行新端口并重载防火墙规则
统信UOS默认启用firewalld,若未显式开放新端口,外部连接请求将被拦截;必须将新端口号加入允许列表并重载规则才能生效。
1、确认防火墙当前运行状态:sudo firewall-cmd --state
2、若返回running,则执行永久放行指令(以2222为例):sudo firewall-cmd --permanent --add-port=2222/tcp
3、重载防火墙配置使规则即时生效:sudo firewall-cmd --reload
4、验证端口是否已在允许列表中:sudo firewall-cmd --list-ports,输出应包含2222/tcp
四、检查SELinux策略兼容性(如启用)
若系统启用了SELinux,其默认策略仅允许sshd在标准端口(22)上监听;更换端口后需额外授权,否则服务将无法绑定新端口。
1、临时禁用SELinux进行测试:sudo setenforce 0
2、再次执行sudo systemctl restart ssh,若此时服务启动成功,则确认为SELinux策略限制所致
3、恢复SELinux强制模式:sudo setenforce 1
4、为新端口添加SELinux端口类型映射(以2222为例):sudo semanage port -a -t ssh_port_t -p tcp 2222
五、验证新端口连通性与服务响应
完成上述全部配置后,必须从外部客户端发起连接测试,确认服务确实在新端口上响应且认证流程正常,排除本地配置与网络路径双重干扰。
1、在另一台Linux或Windows(含OpenSSH客户端)设备上执行连接命令:ssh -p 2222 username@your_uos_ip
2、若出现密码输入提示且成功进入shell,则表明端口修改与全链路配置均有效
3、若连接超时,需检查客户端到UOS主机间的网络设备(如路由器、交换机ACL)是否放行该端口










