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

关机或重启后GitHub SSH路由报未知错误需重复配置怎么办

问题根因

每次重启设备后SSH失效、需要手动启动ssh-agent甚至删了重加远程地址才能恢复,本质是两个配置问题:

  • 你之前执行的SSH密钥添加操作只对当前运行的ssh-agent临时会话生效,设备关机后ssh-agent进程会直接退出,加载的密钥记录会全部清空,新开机的终端会话没有自动加载对应GitHub的SSH私钥,就会触发路由未知、权限校验失败的报错
  • 你之前通过git remote remove重加远程地址的操作完全是无效重复劳动——功能恢复只是因为你重加remote的时候刚好已经手动启动了ssh-agent、加载了密钥,和远程路由配置本身没有任何关系,远程地址只要第一次配置正确,后续不需要反复修改。
永久修复步骤

按下面的顺序操作一次,之后重启设备也不会再复现问题:

  1. 配置SSH默认读取GitHub对应私钥
    打开当前用户目录下的.ssh文件夹(Windows路径一般是C:\Users\你的系统用户名\.ssh,Mac/Linux路径是~/.ssh),查看文件夹内是否有名为config的无后缀文件,没有就新建一个。
    在config文件中写入以下配置,注意替换成你自己的私钥文件名:
    Host github.com
      HostName github.com
      User git
      IdentityFile ~/.ssh/你的GitHub私钥文件名
      IdentitiesOnly yes
    
    注意IdentityFile后填的是私钥文件路径,不要填带.pub后缀的公钥文件。
  2. 配置ssh-agent开机自启,避免每次手动启动
    如果你用Windows系统:
    • 以管理员权限打开PowerShell,执行以下两条命令将系统自带的ssh-agent服务设为开机自动启动:
      Set-Service ssh-agent -StartupType Automatic
      Start-Service ssh-agent
      
    • 打开Git Bash,执行一次ssh-add ~/.ssh/你的GitHub私钥文件名,如果你的私钥设置了密码,按提示输入一次即可,后续开机会自动加载密钥,不需要再手动执行eval $(ssh-agent -s)。
  3. 适配VS Code环境
    打开VS Code设置,搜索git.useIntegratedAskPass选项,将其勾选取消,重启VS Code即可,不需要再在VS Code和Git Bash之间来回切换操作。

配置完成后可以重启设备验证:打开任意终端执行ssh -T git@github.com,如果返回Hi 你的GitHub用户名! You've successfully authenticated的提示,就代表配置生效,后续Git的push、pull操作都不会再触发同类报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 12:21:33