如何在VSCode中配置SSH跳板连接二级服务器并写入配置文件?
如何在VSCode的SSH配置中实现通过server1跳转连接server2
下面是几种可行的配置方案,以及对你之前尝试失败原因的说明:
方法1:使用ProxyJump(推荐,SSH 7.4及以上版本支持)
这是最简洁的跳转配置,VSCode Remote-SSH插件原生支持:
Host server2-jump HostName server2.com User user ProxyJump user@server1.com
配置完成后,在VSCode的Remote-SSH面板中选择server2-jump,即可直接通过server1跳转连接到server2。
方法2:使用ProxyCommand(兼容旧版SSH)
如果你的SSH版本低于7.4,可使用此配置:
Host server2-jump HostName server2.com User user ProxyCommand ssh -W %h:%p user@server1.com
ProxyCommand会先建立到server1的SSH连接,再通过该连接转发到server2的流量。
方法3:修正RemoteCommand配置(适配你之前的尝试)
你之前的RemoteCommand配置缺少终端分配参数,导致无法正常建立VSCode所需的会话,正确写法如下:
Host server2-jump HostName server1.com User user RemoteCommand ssh user@server2.com RequestTTY yes
RequestTTY yes会强制SSH分配终端,确保VSCode能在server2上正常运行会话。
你之前配置失败的原因
- 第一种配置使用
LocalCommand执行本地二次SSH连接,不仅冗余,且默认需要开启PermitLocalCommand yes才会生效,完全没必要。 - 第二种
RemoteCommand配置未添加RequestTTY yes,SSH不会分配终端,VSCode无法切换到server2的会话。 - 第三种
LocalCommand直接在本地执行ssh user@server2,并未通过server1跳转,自然无法达到预期效果。
内容的提问来源于stack exchange,提问作者cirobr
相关产品推荐
相关产品推荐

