我正在尝试在 ssh-config 中配置 ProxyCommand。我的情况是 C Host 是 IPV6
Host tvm1test
User nasir
HostName 111b:c110:102:5177:0:2::3
ProxyCommand [email protected] -W %[h]:%p
但 ssh 到 tvm1test 不成功。以下错误来自 -v 选项
debug1: Executing proxy command: exec [email protected] -W [111b:c110:102:5177:0:2::3]:22
zsh:1: no matches found: [111b:c110:102:5177:0:2::3]:22
我尝试了用和不用 [] 括起来的 %h,两种情况都无法连接。
但使用不带括号的 -J 选项可以工作。有人能告诉我如何让它工作吗?
答案1
你的配置文件应该如下所示
Host tvm1test
User nasir
HostName [111b:c110:102:5177:0:2::3]
ProxyCommand [email protected] -W "%h":%p
这是由通配符问题(ipv6 中的 [])引起的,为了避免在 %h 上使用“”,代理命令会将其视为一个完整的块。
如果你想了解或理解它们是如何协同工作的,请使用
ssh tvm1test -vvv
答案2
请尝试以下
Host tvm1test
User nasir
HostName 111b:c110:102:5177:0:2::3
ProxyCommand ssh [email protected] -W %[h]:%p