MacBook M1(Sonoma14.2.1)SSH密钥失效,无法推送至GitHub求助
从错误提示看,核心问题是系统找不到指定的SSH密钥文件/.../.../.ssh/id_ed25519s,导致GitHub认证失败。按以下步骤排查修复:
检查并修正SSH配置文件
打开~/.ssh/config文件(若不存在则创建),查找是否有类似IdentityFile ~/.ssh/id_ed25519s的配置行,将文件名修正为实际存在的密钥文件名(通常是id_ed25519,注意原路径多了个s)。编辑命令:nano ~/.ssh/config,修改后按Ctrl+O保存,Ctrl+X退出。确认本地密钥文件状态
列出.ssh目录下的所有文件:ls -la ~/.ssh,查看是否存在id_ed25519(私钥)和id_ed25519.pub(公钥)。如果文件丢失,重新生成密钥:ssh-keygen -t ed25519 -C "你的GitHub注册邮箱"执行过程中按回车使用默认路径和空密码即可。
重新添加密钥到SSH代理
先启动SSH代理:eval "$(ssh-agent -s)"然后添加正确的密钥(若之前添加过错误路径的密钥,先执行
ssh-add -d ~/.ssh/id_ed25519s删除):ssh-add ~/.ssh/id_ed25519同步公钥到GitHub
复制本地公钥内容:pbcopy < ~/.ssh/id_ed25519.pub登录GitHub,进入「Settings」→「SSH and GPG keys」,检查是否有匹配的公钥条目。若没有,点击「New SSH key」,粘贴复制的内容并保存。
测试连接有效性
执行以下命令验证认证是否成功:ssh -T git@github.com若输出
Hi [你的GitHub用户名]! You've successfully authenticated, but GitHub does not provide shell access.,说明问题已解决,可正常推送代码。
内容的提问来源于stack exchange,提问作者mack lee

