更换MikroTik路由器后自定义端口7346的SSH/SFTP连接超时故障求助
更换MikroTik路由器后自定义端口7346的SSH/SFTP连接超时故障求助
大家好,最近我把专用服务器的路由器从TP-Link换成了MikroTIK,还把RouterOS升级到了7.8版本——主机本身的配置完全没动,就只换了路由器。现在遇到了SSH/SFTP连接的问题,折腾好久没解决,来求助各位!
问题背景
我在服务器上把SSH/SFTP的默认端口21、22改成了7346,并且在主机的ufw里封禁了21、22端口,只开放7346用于远程连接。换路由器之前一切正常,换了MikroTIK之后就出问题了。
具体连接现象
- 指定7346端口连接超时
执行命令:
ssh -p 7346 riven@9x.xxx.xxx.xxx
几秒后返回:
ssh: connect to host 9x.xxx.xxx.xxx port 7346: Operation timed out
- 用默认22端口连接时,能建立连接但认证超时
执行命令:
ssh riven@9x.xxx.xxx.xxx
返回:
riven@9x.xxx.xxx.xxx's password: Received disconnect from 9x.xxx.xxx.xxx port 22:11: auth timeout Disconnected from 9x.xxx.xxx.xxx port 22
注:主机ufw里已经封禁了22端口,SSH服务本身也没有监听22,所以这里的连接应该是路由器转发过来的?
- 修改MikroTik的SSH服务端口为7346后
在MikroTik的Ip -> Services里把SSH默认端口改成7346:
- 不加端口连接时直接被拒绝:
ssh riven@9x.xxx.xxx.xxx
返回:
ssh: connect to host 9x.xxx.xxx.xxx port 22: Connection refused
- 指定7346端口连接还是超时,和现象1一致。
主机日志信息
查看/var/log/auth.log,关键记录如下:
Apr 9 20:51:38 riven sshd[1218]: Server listening on 0.0.0.0 port 7346. Apr 9 20:51:38 riven sshd[...]: Server listening on :: port 7346.
日志里完全看不到外部SSH连接的尝试记录,说明请求根本没到达主机。
已排查的操作
- 确认主机ufw规则:已允许7346端口入站,封禁21、22端口
- 本地验证服务正常:
telnet localhost 7346:能正常连接,说明本地SSH服务没问题sudo systemctl status sshd:服务状态正常,明确显示监听7346端口ps aux | grep sshd:sshd进程正常运行netstat -plant | grep :22:无输出,确认SSH没监听22端口lsof -i:能看到sshd监听7346端口
- 同时关闭主机ufw和MikroTik防火墙,问题依旧存在,排除防火墙拦截的可能
现在实在找不到问题出在哪了,有没有大佬遇到过类似情况?或者能给点排查方向?万分感谢!
备注:内容来源于stack exchange,提问作者Riven




