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

重装系统后每次开机都需重新运行ssh-agent和ssh-add才能访问Git仓库

SSH密钥开机自动加载解决方案

问题根因

ssh-agent未配置开机自启,也没有设置自动加载你自定义的id_personal私钥,因此每次重启后都需要手动执行命令注册密钥,访问GitHub、GitLab等SSH协议的代码仓库都会触发权限报错。


分系统配置方案

1. Windows系统(含Git Bash / PowerShell场景)

  • 首先开启系统SSH服务自启:按下Win+R输入services.msc回车,在服务列表中找到OpenSSH Authentication Agent,将启动类型修改为「自动」,再手动点击启动该服务。
  • 进入用户目录下的.ssh文件夹,新建无后缀的config文件,写入以下配置:
Host *
  AddKeysToAgent yes
  IdentityFile ~/.ssh/id_personal

如果使用Git Bash不想用系统服务,也可以直接参考下方Linux的shell配置方案,把启动命令写入~/.bashrc即可。

2. macOS系统

  • 编辑用户目录下的~/.ssh/config文件,写入以下配置:
Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_personal
  • 执行一次命令将私钥存入系统钥匙串:ssh-add --apple-use-keychain ~/.ssh/id_personal(老版本macOS可替换为ssh-add -K ~/.ssh/id_personal)。

3. Linux系统

场景A:带GNOME/KDE等桌面环境的个人设备

大部分桌面发行版默认自带SSH密钥管理组件,直接编辑~/.ssh/config写入和上述Windows一致的配置即可,首次使用输入私钥密码后会自动存入系统密钥环,开机自动加载。

场景B:无桌面的服务器/极简发行版

编辑对应shell的启动配置文件(bash对应~/.bashrc,zsh对应~/.zshrc),在末尾添加以下内容:

# 自动启动ssh-agent并加载私钥
if [ -z "$SSH_AUTH_SOCK" ] ; then
  eval `ssh-agent -s`
  ssh-add ~/.ssh/id_personal 2>/dev/null
fi

保存后执行source ~/.bashrc(对应zsh就改配置文件名)立即生效。


验证方法

配置完成后重启电脑,直接执行ssh -T git@github.com,返回认证成功的提示即为配置生效,GitLab可执行ssh -T git@gitlab.com验证。
如果你的私钥设置了密码,首次使用输入一次后,后续开机无需重复输入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:36:00