我有 5 个 VPS,我使用 OpenSSH 中的跳转命令从 My_Pc 连接到 VPS_5。
My_PC ==>VPS_1 ==>VPS_2 ==>VPS_3 ==>VPS_4 ==>VPS_5 ==>Internet
ssh -D80 root@VPS_5 -J root@VPS_1,root@VPS_2,root@VPS_3,root@VPS_4
首先我的 PC 连接到 VPS_1,然后 VPS_1 连接到 VPS_2,...我复制公钥,无需在任何 VPS 中输入密码。最后我使用 127.0.0.1:80 作为代理。
如何在PuTTY中实现上述示例?
请清楚完整地解释,我是新手。谢谢
答案1
你应该能够通过配置“本地代理命令”。
对于一跳(相当于root@VPS_2 -J root@VPS_1
),您可以使用本地代理命令,例如:
plink root@VPS_1
虽然这可以更容易地使用“SSH 代理并使用端口转发”。
对于两跳(相当于root@VPS_3 -J root@VPS_1,root@VPS_2
),您可以使用如下代理命令:
plink root@VPS_2 -proxycmd "plink root@VPS_1"
不确定三跳的正确语法是什么,因为它需要嵌套引号,而且我不知道它们转义的语法(如果可能的话)。
但无论如何,您都可以通过在 PuTTY 中hop_1_and_2
为其他主机配置存储的站点(),然后在plink
命令中调用它们来实现它:
plink root@VPS_3 -proxycmd "plink hop_1_and_2"
在所有情况下,您可能需要缓存各个跳数的主机密钥,然后才plink
能够自动连接。