统信uos修改ssh端口需五步:一、备份并编辑/etc/ssh/sshd_config,取消port注释并设为1025–65535间新端口;二、重启ssh服务并验证active (running);三、用firewalld或ufw放行新端口并重载;四、若启用selinux,须用semanage port -a授权;五、外部执行ssh -p 新端口测试连通性。

统信UOS系统默认启用SSH服务并监听22端口,这使设备极易被自动化扫描工具发现并攻击;修改为非标准高位端口是降低暴露风险最直接有效的手段。
备份并编辑SSH主配置文件
第一步:执行命令备份原始配置,防止新配置出错导致SSH服务无法启动:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
第二步:用vi打开配置文件:
sudo vi /etc/ssh/sshd_config
第三步:在文件中查找以【#Port 22】开头的行,删掉开头的#号,并将22替换为1025–65535之间一个未被占用的端口号(例如2222);确保该行格式为Port 2222,且不能存在多个Port行——否则sshd会按首个有效Port监听,其余被忽略。
第四步:保存退出(vi中按Esc→输入:wq→回车)。
重启SSH服务并验证状态
执行sudo systemctl restart ssh重启服务,让新端口生效。
立即检查服务状态:
sudo systemctl status ssh
若输出中显示【active (running)】且日志末尾无Failed to start字样,说明端口变更已加载成功;若显示failed或deactivating,大概率是配置文件语法错误或Port行重复,需回到上一步重新检查。
放行新端口并重载防火墙规则
方法一(firewalld):
确认防火墙运行状态:sudo firewall-cmd --state
若返回running,则永久放行新端口(以2222为例):
sudo firewall-cmd --permanent --add-port=2222/tcp
重载规则:
sudo firewall-cmd --reload
验证是否生效:
sudo firewall-cmd --list-ports(输出应含2222/tcp)
方法二(ufw):
若系统使用ufw而非firewalld(可通过ufw status verbose确认),则执行:
sudo ufw allow 2222
注意:ufw默认可能未启用,若提示inactive,先执行sudo ufw enable。
处理SELinux端口绑定限制(如启用)
若修改端口后sshd仍无法启动,且systemctl status ssh显示“Cannot assign requested address”,极可能是SELinux策略阻止了非标准端口绑定。
临时禁用SELinux测试:
sudo setenforce 0
再执行sudo systemctl restart ssh —— 若此时成功启动,即可确认是SELinux所致。
恢复强制模式并授权新端口:
sudo setenforce 1
sudo semanage port -a -t ssh_port_t -p tcp 2222
这一步必须执行,否则重启后SELinux会再次拦截;【未执行此步可能导致SSH服务反复失败】。
从外部验证新端口连通性
在另一台机器上执行:
ssh -p 2222 username@your_uos_ip
若能正常弹出密码输入提示并成功登录,说明全部配置完成;若提示Connection refused,请回头检查sshd是否真正监听新端口:
sudo ss -tlnp | grep :2222
若无输出,说明sshd未在该端口监听,问题仍在配置或SELinux环节。











