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

VSCode挂起、Git Bash SSH密钥验证异常问题求助

问题解答

1. VSCode仅挂起不弹出安全警告的原因

VSCode的Git集成底层调用系统Git客户端,但未实现SSH主机密钥确认的交互逻辑。遇到需手动确认密钥的场景时,VSCode没有对应的提示入口,导致Git相关进程阻塞,版本控制窗口卡死,而其他功能因独立线程运行不受影响。

2. 解决SSH密钥问题的方案

  • 清理PuTTY主机密钥缓存

    1. 打开PuTTY,会话设置中输入github.com并点击“打开”,在弹出的密钥确认窗口输入y更新缓存。
    2. 若手动操作缓存文件:进入C:\Users\[你的用户名]\AppData\Roaming\PuTTY\sshhostkeys,删除含github.com的条目;或进入C:\Users\[你的用户名]\.ssh,删除known_hosts中对应github.com的记录,重新推送时按提示确认新密钥。
  • 切换Git使用OpenSSH客户端
    Windows下Git默认可能用PuTTY的plink.exe,切换到OpenSSH可规避问题:

    1. Git Bash执行命令:
      git config --global core.sshCommand "ssh -F /dev/null"
      
    2. 或在VSCode设置(Ctrl+,)中搜索git ssh path,选择系统自带的OpenSSH路径(通常为C:\Windows\System32\OpenSSH\ssh.exe)。
  • 重新生成合规格式密钥
    确保生成OpenSSH格式密钥,避免PuTTY格式冲突:

    1. 删除无效密钥,执行命令生成更安全的ed25519密钥:
      ssh-keygen -t ed25519 -C "email@email.com"
      
    2. 将生成的公钥(id_ed25519.pub内容)添加至GitHub的SSH密钥设置中。
    3. 执行ssh-add ~/.ssh/id_ed25519加载密钥,输入密钥密码(若设置过)即可。

3. Git Bash输入无响应的解决办法

  • 打开任务管理器,强制结束所有plink.exe或ssh.exe进程,重启Git Bash后重新操作。
  • 关闭当前Git Bash窗口,重新打开后先执行ssh github.com,在终端弹出的密钥确认提示中输入y,完成确认后再执行推送命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 23:47:44