- 前段时间使用了亚马逊的ai编程工具kiro,在里面授权了一个git的权限后,sourcetree下码云gitee的ssh就掉了,重新新建ssh后也会再次失效。失效时机好像是过段时间或重启电脑,经常推不上去代码,很烦。
- 期间使用了很多种方式,但是过段时间仍然失效。
- 现在发现了一种方案,操作几步就可以再次连上了,记录一下。
新建ssh就不重复了,很多文章都讲了,我之前也写过:
Git SSH失效后重新关联
新建成功且关联后,刚开始是好的,可以推拉代码,但是过段时间又失效了,下面是解决失效的问题,不然一直新建也太合适。
1.检查git版本
git -v
如果没有git,先安装(一般都会有):
$ brew install git
2.将sshkey添加到sourceTree
这里假设之前新建的ssh名称为 gitee
ssh-add ~/.ssh/gitee
如果显示The agent has no identities.,执行下面命令:
eval "$(ssh-agent -s)"
3.将sshkey 添加到钥匙串
ssh-add -K ~/.ssh/gitee
4.到 .ssh目录下,命令创建config文件
cd ~/.ssh
touch config
打开config文件:
open config
输入以下内容并保存:
Host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/gitee
5.执行gitee推荐配置
git config --global user.name 'jingbin'
git config --global user.email 'jingbin@xxxxx.cn'
6.执行ssh命令链接一下git服务器,进行公钥信任
ssh git@gitee.com
会提示下面,代表成功:
Hi jingbin(@xxxxx)! You've successfully authenticated, but GITEE.COM does not provide shell access. Connection to gitee.com closed.
git@gitee.com 是仓库地址前缀
目前亲测可行,后面看ssh是否再失效。
