标题: ssh有-J参数指定跳板机 创建: 2024-11-28 11:46 更新: 2024-12-01 10:05 链接: https://scz.617.cn/unix/202411281146.txt ssh后来新增-J参数,可指定跳板机,相当于内置端口转发。-J可指定多个跳板,用 逗号分隔。有了-J,若中间用跳板机,不再需要单用-L搞端口转发,不再需要多条命 令组合,可合并成一条命令。Win10自带ssh,也支持-J。 比如这种场景,从A->B->C->D,后三者均为sshd,现在想搞SSH Tunnel,最终出口是 D,考虑如下命令: ssh -CfgNT24 -D ip_a:port_a user_d@ip_d -p port_d -J user_b@ip_b:port_b,user_c@ip_c:port_c 在此过程中根据提示依次输入pass_b、pass_c、pass_d,之后A机侦听"ip_a:port_a", 将之当作SOCKS5代理即可。若A是Windows,建议不用-f参数,否则将来无法Ctrl-C打 断,只能Process Explorer杀。 若D只支持公私钥登录,考虑如下命令: ssh -CfgNT24 -D ip_a:port_a -i priv_d user_d@ip_d -p port_d -J user_b@ip_b:port_b,user_c@ip_c:port_c 上述部分参数简介: -C Requests compression of all data -f Requests ssh to go to background just before command execution. -N Do not execute a remote command -g Allows remote hosts to connect to local forwarded ports -T Disable pseudo-terminal allocation -4 Forces ssh to use IPv4 addresses only 现代ssh可能没有"-2"参数了,默认就是协议版本2。 zz用"Config NT"来记忆前述参数。 早些年架SSH Tunnel,若有级联、套娃之类的需求,只能多条命令组合,非常臃肿, 有-J后,一条命令完事儿。坏事做尽的人,想必第一时刻发现-J登场,TA们有这种强 需求。我们善良之辈,没这种强需求,近日zz向我提及,才知晓ssh进步如斯。此外, 在寡妇王的凝视下,SSH Tunnel并非稳定信道,此句的对照组并非所谓网红协议,前 述信息亦非暗示什么,仅仅FYI。