You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

更换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之后就出问题了。

具体连接现象

  1. 指定7346端口连接超时
    执行命令:
ssh -p 7346 riven@9x.xxx.xxx.xxx

几秒后返回:

ssh: connect to host 9x.xxx.xxx.xxx port 7346: Operation timed out
  1. 用默认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,所以这里的连接应该是路由器转发过来的?

  1. 修改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

火山引擎 最新活动