我创建了一个反向 ssh 隧道来连接到 NAT 后面的计算机,使用:
ssh -R 9050:localhost:22 user@middleserver
在目的地系统中。我关闭了输入此命令的终端。但我仍然可以使用连接到目标计算机
ssh destuser@middleserver -p 9050
从我的系统
这是正常的吗?
答案1
是的,对于 OpenSSH,ssh
客户端不会终止,直到全部其打开的转发连接在任一方向上均已关闭。只要任何连接打开,它就会继续接受新连接(这至少令人惊讶,并且可以说是一个缺陷)。
在 CR 后使用该序列~#
,OpenSSH 将显示当时打开的转发连接。如果由于打开的连接而在注销/退出/^D 后仍然存在,则用于~.
终止,这仅适用于您在终端模拟器中启动自己的情况。如果您的 GUI/WM 环境为您启动会话,则即使有进程仍在运行,它也可能会关闭窗口。ssh
ssh
ssh