我曾经ssh -L 10002:192.168.0.30:10002 192.168.1.135
建立了端口转发,但现在需要将其删除。
我该怎么做呢?
答案1
如果你使用的是 Linux,你可以通过以下方式终止该进程:
ps aux | grep ssh
然后使用
kill <id>
终止该进程。
如果 kill 命令不成功,你可以尝试
kill -9 <id>
答案2
当使用 ssh 多路复用时,
终止 ssh 进程通常是不可取的(它会终止与该主机的所有打开的连接),
并且您无法轻松访问转义符,因为“转义符不适用于多路复用会话”。
正确的方法是运行要取消的转发命令的模拟,
但要添加-O cancel
。例如:
ssh -O cancel -L 10002:192.168.0.30:10002 192.168.1.135
这将禁用此端口转发,但不终止会话。
再次,仅当使用 ssh 多路复用连接 192.168.1.135 时,此功能才有效。
答案3
如何在已经运行的 SSH 会话中取消转发端口:
- 按~+ C(波浪符号 + 大写 C)
- 类型
-KL 10002
(或任意端口号) - 按 Enter 键
你应该看到这个:
ssh> -KL 10002
Canceled forwarding.
答案4
您可以使用“escape 键”(通常是 ~)然后按 C 键来获取连接的 CLI。您可以从那里删除隧道而不断开连接。