VSCode如何配置多级SSH隧道连接内网私有服务器开发
VSCode 实现SSH跳板跳转连接内网服务器配置方案
你可以直接通过修改本地SSH配置文件实现需求,不需要手动执行嵌套SSH命令,配置完成后就能像直连服务器一样用VSCode打开内网机器上的代码开发,操作步骤如下:
- 打开VSCode的SSH配置文件
点击左下角Remote SSH扩展的绿色状态栏图标,在弹出的命令面板选「打开SSH配置文件」,选择本地用户目录下的SSH配置文件即可:
- macOS/Linux路径:
~/.ssh/config - Windows路径:
C:\Users\你的用户名\.ssh\config
- 写入跳板机和目标机配置
推荐使用OpenSSH原生支持的ProxyJump配置(OpenSSH 7.3及以上版本都支持,目前所有主流系统自带的SSH版本都满足要求),把下面的内容按你的实际信息修改后写入配置文件:
# 第一台公网跳板机配置 Host public-jump HostName my_first_server.com User me IdentityFile ~/.ssh/my_first_key # 第二台内网目标服务器配置 Host private-target HostName my_second_server.com User me IdentityFile ~/.ssh/my_second_key ProxyJump public-jump
注意:第二台服务器对应的私钥文件
my_second_key需要放在你本地电脑的.ssh目录下,不需要上传到公网跳板机,这种模式下认证全程在本地完成,安全性更高。
如果你用的是极老版本的OpenSSH不支持ProxyJump,可以替换成ProxyCommand模式实现完全一样的效果,对应你之前手动敲的嵌套SSH逻辑,内网服务器配置段改成下面内容即可:
Host private-target HostName my_second_server.com User me IdentityFile ~/.ssh/my_second_key ProxyCommand ssh -W %h:%p public-jump
- 连接验证
保存配置文件后,再次点击VSCode左下角的Remote SSH图标,选择「连接到主机」,下拉列表里就能看到你刚配置的private-target选项,点击即可直接连接到内网第二台服务器,后续打开代码目录、安装远程插件、调试运行的操作和直连公网服务器完全一致。
常见问题排查
- 如果连接时提示私钥权限错误,Linux/macOS下执行
chmod 600 ~/.ssh/my_first_key ~/.ssh/my_second_key修复权限即可;Windows下右键点击私钥文件,选属性-安全,删除除当前登录用户外的所有权限条目。 - 如果第二台服务器是私网段IP(比如192.168.x.x、10.x.x.x段),直接把配置里的
HostName改成对应私网IP即可,不需要调整其他参数。 - 不需要在公网跳板机上做任何额外配置,只要你本地终端能通过之前写的嵌套SSH命令连上内网机器,这个配置就能正常工作。
内容的提问来源于stack exchange,提问作者Fabio Magarelli
相关产品推荐
相关产品推荐

