如何使用VScode通过两级SSH跳板连接到远端开发机进行开发
VSCode 两级SSH跳转远程连接目标机器方案
方案核心逻辑
通过本地SSH配置的跳板跳转能力,把两级SSH的登录逻辑封装成本地可直接识别的单主机配置,VSCode的Remote SSH扩展可以直接读取本地SSH配置完成连接,无需额外特殊设置。
具体操作步骤
编辑本地SSH配置文件
- macOS/Linux路径:
~/.ssh/config - Windows路径:
C:\Users\你的用户名\.ssh\config
若文件不存在直接新建即可。
- macOS/Linux路径:
写入如下配置内容,按需替换占位符:
# 跳板机A配置 Host jumpA HostName 【机器A的公网IP/域名】 User 【机器A的登录用户名】 Port 【机器A的SSH端口,默认22可省略】 IdentityFile 【可选:本地SSH私钥路径,配置后免密登录机器A】 # 目标机器B配置 Host targetB HostName 【机器A可访问的机器B的IP/域名,一般是内网地址】 User 【机器B的登录用户名】 Port 【机器B的SSH端口,默认22可省略】 IdentityFile 【可选:本地SSH私钥路径,若机器B也信任该公钥可实现免密】 # OpenSSH 7.3及以上版本用以下一行配置跳转 ProxyJump jumpA # 若为更老的OpenSSH版本,把上面一行替换成下面这行 # ProxyCommand ssh -W %h:%p jumpA
本地终端测试连通性
执行命令ssh targetB,确认可以直接登录到机器B,无需手动先登录机器A。VSCode连接操作
打开VSCode并安装Remote - SSH扩展,点击左侧边栏的「远程资源管理器」,刷新SSH列表后就能看到targetB的配置项,点击连接即可直接在机器B上开展开发工作,后续操作和单级SSH远程开发完全一致。
其他可选方案
如果不想修改全局SSH配置,也可以直接在VSCode的「添加新SSH主机」流程中,直接输入带跳转参数的命令:ssh -J 【机器A用户名@机器A地址:机器A端口】 【机器B用户名@机器B地址:机器B端口】
注意事项
- 优先配置SSH密钥免密登录跳板机A和目标机B,避免连接时重复输入密码
- 需确认跳板机A的网络策略允许访问目标机B的SSH端口,无防火墙拦截
内容的提问来源于stack exchange,提问作者kanishk
相关产品推荐
相关产品推荐

