如何删除 SSH 转发端口

如何删除 SSH 转发端口

我曾经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 会话中取消转发端口:

  1. ~+ C(波浪符号 + 大写 C)
  2. 类型-KL 10002(或任意端口号)
  3. 按 Enter 键

你应该看到这个:

ssh> -KL 10002
Canceled forwarding.

答案4

您可以使用“escape 键”(通常是 ~)然后按 C 键来获取连接的 CLI。您可以从那里删除隧道而不断开连接。

相关内容