You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将WSL中的Git SSH凭据传递至VS Code开发容器

将WSL中的Git SSH密钥传递到VS Code开发容器的方法

方法一:通过devcontainer.json自动挂载(推荐)

  • 打开VS Code,找到开发容器的.devcontainer配置文件夹,编辑devcontainer.json文件
  • 添加挂载配置,将WSL的SSH目录绑定到容器对应位置:
    "mounts": [
      "source=${localEnv:HOME}/.ssh,target=/root/.ssh,type=bind,consistency=cached"
    ]
    
    注:如果容器使用非root用户,把/root/.ssh替换为容器内用户的SSH目录,比如/home/dev/.ssh
  • 重新构建或重启开发容器,容器即可直接读取WSL中已配置的SSH密钥

方法二:手动复制密钥到容器

  • 在WSL终端中,分别导出私钥和公钥内容:cat ~/.ssh/id_rsa、cat ~/.ssh/id_rsa.pub
  • 进入VS Code开发容器的终端,创建SSH目录:mkdir -p ~/.ssh
  • 创建私钥文件并粘贴内容:nano ~/.ssh/id_rsa,保存后设置权限:chmod 600 ~/.ssh/id_rsa
  • 创建公钥文件并粘贴内容:nano ~/.ssh/id_rsa.pub,保存后设置权限:chmod 644 ~/.ssh/id_rsa.pub
  • 可选:若需要保留已信任的主机列表,可同步WSL中的~/.ssh/known_hosts文件到容器对应位置,权限设为644

方法三:使用SSH代理转发

  • 在WSL终端启动SSH代理并添加密钥:
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa
    
  • 在devcontainer.json中添加代理转发配置:
    "runArgs": [
      "-v", "${localEnv:SSH_AUTH_SOCK}:/run/host-services/ssh-auth.sock",
      "-e", "SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock"
    ]
    
  • 重启容器后,可通过代理直接使用WSL中的SSH密钥,无需挂载密钥文件

内容的提问来源于stack exchange,提问作者ziv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 01:50:26