我们知道,我们可以通过ssh
指定命令行参数来指定本地或动态端口转发:
ssh -D #### \ # For Dynamic Forwards
-L ####:host:#### # For Local Forwards
但是,如果我忘记指定转发,我可以在会话期间以某种方式添加转发,而不必关闭连接并启动新会话吗?
PuTTY(在 Windows 上)可以执行此操作,但ssh
它是一个不同的应用程序。
答案1
正如我发现的对类似问题的评论,ssh
支持 EscapeChar,默认~
为波浪号 ( ) 字符。使用此 EscapeChar,您可以执行许多任务,包括修改端口转发。 EscapeChar 只能在换行符后工作,因此您可能需要插入换行符(即按enter
)。
假设~
是 EscapeChar,~?
将列出可用选项。 SSH命令行提供了添加新端口转发路由的接口,后缀名为~C
.要添加本地或动态转发,请使用:
~C
ssh> -L ####:host:####
Forwarding port.
~C
ssh> -D ####
Forwarding port.
# Even without a prompt, your input has returned to the remote session