记一次SSH反向隧道重启失效
最近在尝试把本机的 SSH 服务通过远端公网服务器暴露出去,原本以为只需配置一条转发命令,但系统重启后却遇到了无法连接的问题。排查过程中顺带处理了几个 OpenSSH 和 Systemd 的配置细节,同时还定位到了一个由高负载引起的进程离线隐患。今天把整个排查和修复过程记录下来,供日后参考。 (为保护窝的隐私,本文中的 IP、端口和用户名均已做脱敏处理,统一使用占位符表示。) 我的诉求是在本机建立一个反向隧道,通过远端服务器的公网 IP 登录回本机。 现象: 系统重启后,使用客户端连接期望入口时,无论输入什么密码都提示密码错误。 检查本机的反向隧道服务日志,发现服务在持续报错重试,提示远程端口转发失败。同时,远端服务器的日志中显示了无效用户登录失败的记录。 原因很明显:客户端的连接并没有通过隧道回到本机,而是直接落到了远端服务器自己的 sshd 服务上。远端环境并没有 <用户名> 这个用户,因此表现为密码错误。 导致请求落到远端的原因,是远端公网端口 <转发端口> 的用途产生了冲突:既被用作用户的连接入口,又被用作本机反向隧道连接远端时使用的控制端口。 同一个 IP…
Read more →