Git仍保留旧SSH密钥,无法使用新密钥该如何解决?
解决Git持续使用旧SSH密钥的问题
以下是几个直接有效的解决步骤:
重置SSH代理,仅加载新密钥
先杀掉当前的SSH代理进程,清空所有已加载的密钥:ssh-agent -k重启代理:
eval "$(ssh-agent -s)"然后把新密钥添加到代理里:
ssh-add ~/.ssh/你的新密钥文件名(比如你的新密钥是
id_ed25519,就写ssh-add ~/.ssh/id_ed25519)检查并修正Git仓库的远程地址
进入你的本地仓库目录,先看当前的远程URL:git remote -v如果显示的是HTTPS格式的地址(比如
https://github.com/xxx/xxx.git),改成SSH格式:git remote set-url origin git@github.com:你的用户名/仓库名.git配置SSH强制使用新密钥
打开~/.ssh/config文件(没有的话直接创建一个),添加以下配置:Host github.com HostName github.com User git IdentityFile ~/.ssh/你的新密钥文件名 IdentitiesOnly yes其中
IdentitiesOnly yes是关键,它会强制SSH只使用你指定的这个密钥,不会去尝试其他可能残留的密钥。验证新密钥是否生效
测试和Github的连接:ssh -T git@github.com如果输出类似
Hi 你的用户名! You've successfully authenticated, but GitHub does not provide shell access.的内容,就说明新密钥已经正常工作了。
内容的提问来源于stack exchange,提问作者IndividualGames
相关产品推荐
相关产品推荐

