VS Code如何配置使用已有的有效SSH密钥
解决VS Code无法使用现有SSH密钥的方案
步骤1:对齐VS Code与系统的Git路径
绝大多数该类问题由VS Code调用的Git实例与系统控制台使用的Git实例不一致导致,两者会读取不同的SSH配置路径:
- 在系统控制台执行
where git(Windows环境),记录输出的Git可执行文件路径 - 打开VS Code设置界面,搜索配置项
git.path,将上一步查到的Git完整路径填入配置项,路径中的反斜杠需要转义,示例:C:\\Program Files\\Git\\cmd\\git.exe - 重启VS Code后先测试推送操作是否恢复正常
步骤2:配置SSH规则指定密钥路径
如果第一步操作后问题仍存在,可以手动编写SSH配置指定代码仓库对应的密钥:
- 打开SSH默认路径下的config文件:
C:\Users\Username\.ssh\config,如果文件不存在就新建一个无后缀的纯文本文件,命名为config - 写入对应配置:
Host 你的代码仓库域名(例如github.com、gitee.com) HostName 你的代码仓库域名 User git IdentityFile C:\Users\Username\.ssh\你的私钥文件名(例如id_rsa) IdentitiesOnly yes
注意:.ssh目录下的文件需要设置为仅当前用户可读写,否则SSH会触发安全校验直接忽略配置,你可以右键文件→属性→安全,删除其余所有用户的访问权限,仅保留你的个人账户权限
步骤3:适配远程开发场景的配置
如果你是使用VS Code Remote-SSH插件连接远程服务器后操作代码,需要开启SSH代理转发:
- 在本地SSH config文件的对应远程服务器配置块中添加
ForwardAgent yes - 启动本地ssh-agent服务并添加私钥:
- 以管理员权限打开Powershell,执行
Start-Service ssh-agent - 执行
ssh-add C:\Users\Username\.ssh\你的私钥文件名
- 以管理员权限打开Powershell,执行
- 重启VS Code的远程连接后测试即可
快速校验方法
你可以直接在VS Code内置终端执行 git push 命令验证:
- 如果内置终端也报错,说明是VS Code的环境变量配置问题,重新执行步骤1即可
- 如果内置终端推送正常,但源代码管理面板操作报错,将VS Code配置项
git.terminalAuthentication关闭即可解决
内容的提问来源于stack exchange,提问作者alex
相关产品推荐
相关产品推荐

