1. ProxyJump
的作用
- 作用: 指定一个跳板机,通过它访问目标主机。
- 语法简洁:
ProxyJump
是OpenSSH 7.3
引入的功能,语法更加简洁,推荐在较新版本的 OpenSSH 中使用。
1 Vscode配置
Host Lab3
HostName 192.168.20.56
User kkk
ProxyJump 192.168.25.7
- 当你通过
ssh
访问 192.168.20.56 时,会先通过跳板机 192.168.25.7 连接,再转发到目标主机。 - 在这种配置下,客户端会自动使用跳板机登录,简化命令流程。
2 terminal 命令行配置
下文通过ssh -J kkk@192.168.25.7 kkk@192.168.20.56
命令实现通过跳板机192.168.25.7
跳转到192.168.20.56
{
"commandline": "ssh kkk@192.168.25.7 -p 10002",
"guid": "{a10c1013-d3f4-479c-bb69-7899e7597873}",
"hidden": false,
"name": "kkk1",
"tabTitle": "kkk1"
},
{
"commandline": "ssh -J kkk@192.168.25.7 kkk@192.168.20.56",
"guid": "{a10c1013-d3f4-479c-bb69-7899e7565871}",
"hidden": false,
"name": "kkk2",
"tabTitle": "kkk2"
}
2. ProxyCommand
的作用
- 作用: 配置一个代理命令,用于自定义如何通过跳板机访问目标主机。
- 灵活性更高: 它允许通过任意自定义命令实现复杂代理(如
netcat
或其他工具),适合老版本或需要定制功能的场景。
Host PCLab1
HostName 192.168.52.3
User kkk
ProxyCommand ssh -q TencentCloud nc -x localhost:1080 %h %p
解释:
ProxyCommand
执行的命令是:通过主机TencentCloud
,使用netcat
转发连接到目标主机%h
和端口%p
。-x localhost:1080
表示使用 SOCKS5 代理(例如通过localhost:1080
提供的代理服务访问目标主机)。
如何选择?
- 如果你使用的是较新版本的 OpenSSH:
- 优先选择
ProxyJump
,因为它简洁且易维护。
- 优先选择
- 如果需要复杂的代理设置或使用老版本的 OpenSSH:
- 使用
ProxyCommand
,它提供灵活的代理机制。
- 使用
参考链接
ProxyJump使用方式