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

VS Code远程开发中Git凭证存储位置及删除方法咨询

VS Code SSH远程开发中GitHub凭证的来源与删除方法

凭证来源解析

VS Code SSH远程会话会为终端注入专属的临时凭证处理逻辑:

  • 首次登录时的OAuth验证是通过本地端口转发完成的,远程git请求会被转发到本地VS Code处理认证。
  • 当你删除本地凭证后远程仍能输出凭证,是因为VS Code的远程进程已经将GitHub OAuth令牌缓存到了远程机器的VS Code专属存储中,这个存储只对VS Code启动的终端可见,普通shell无法访问,具体存储在远程用户目录下的VS Code服务器数据文件内。

凭证删除步骤

  1. 彻底关闭VS Code远程会话
    退出所有连接到该远程机器的VS Code窗口,确保远程侧的VS Code服务进程完全终止,清空内存中的临时缓存。

  2. 清理远程机器上的VS Code凭证存储
    在远程机器的普通shell中执行命令,删除VS Code存储的凭证文件:

    rm -rf ~/.vscode-server/data/Machine/credentials.json
    

    如果想彻底重置远程VS Code环境(会丢失插件和配置,后续重新连接会自动恢复),可以直接删除整个VS Code服务器目录:

    rm -rf ~/.vscode-server
    
  3. 重置本地VS Code的GitHub认证
    在本地VS Code打开命令面板(快捷键:Ctrl+Shift+P),执行GitHub: Logout命令,彻底登出GitHub账号,清除本地残留的会话令牌。

  4. 验证清理效果
    重新连接远程机器后,在VS Code终端执行以下命令,确认不再输出凭证:

    printf "protocol=https\nhost=github.com" | git credential fill
    

    此时执行git操作会重新触发OAuth验证,可选择重新登录或切换为SSH密钥认证方式。

更安全的替代方案

如果远程机器多人共享,建议使用SSH密钥对连接GitHub:

  • 在远程机器上生成SSH密钥:ssh-keygen -t ed25519 -C "your_email@example.com"
  • 将公钥内容(~/.ssh/id_ed25519.pub)添加到GitHub账户的SSH密钥列表中
  • 后续远程机器上的git操作会通过SSH密钥认证,无需存储明文或令牌凭证,安全性更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 10:22:23