为什么关闭反向 ssh 连接后仍然可以使用 ssh 反向隧道?

为什么关闭反向 ssh 连接后仍然可以使用 ssh 反向隧道?

我创建了一个反向 ssh 隧道来连接到 NAT 后面的计算机,使用:

ssh -R 9050:localhost:22 user@middleserver

在目的地系统中。我关闭了输入此命令的终端。但我仍然可以使用连接到目标计算机

ssh destuser@middleserver -p 9050从我的系统

这是正常的吗?

答案1

是的,对于 OpenSSH,ssh客户端不会终止,直到全部其打开的转发连接在任一方向上均已关闭。只要任何连接打开,它就会继续接受新连接(这至少令人惊讶,并且可以说是一个缺陷)。

在 CR 后使用该序列~#,OpenSSH 将显示当时打开的转发连接。如果由于打开的连接而在注销/退出/^D 后仍然存在,则用于~.终止,这仅适用于您在终端模拟器中启动自己的情况。如果您的 GUI/WM 环境为您启动会话,则即使有进程仍在运行,它也可能会关闭窗口。sshsshssh

相关内容