zsh: no matches found: /Users/xxx/.ssh/id_rsa*
ls ~/.ssh/id_rsa* 输出 zsh: no matches found: /Users/xxx/.ssh/id_rsa*
电脑上没有生成过 RSA 类型的 SSH 密钥(id_rsa
和 id_rsa.pub
文件不存在),这也是 SSH 连接失败的可能原因之一。
解决方法:重新生成 SSH 密钥并配置
生成新的 SSH 密钥
打开终端,执行以下命令(替换为你的 GitHub 邮箱):bash
ssh-keygen -t rsa -b 4096 -C "你的GitHub邮箱地址"
执行后会出现提示,一路按回车(默认设置即可,无需设置密码),最终会在
~/.ssh/
目录下生成id_rsa
(私钥)和id_rsa.pub
(公钥)。确认密钥已生成
再次执行以下命令,应该能看到生成的密钥文件:bash
ls ~/.ssh/id_rsa*
正常会显示:
/Users/xxx/.ssh/id_rsa /Users/xxx/.ssh/id_rsa.pub
启动 SSH 代理并添加私钥
bash
# 启动代理 eval "$(ssh-agent -s)"# 添加私钥 ssh-add ~/.ssh/id_rsa
将公钥添加到 GitHub 账号
复制公钥内容:bash
cat ~/.ssh/id_rsa.pub
复制输出的全部内容,然后登录 GitHub,按路径
Settings → SSH and GPG keys → New SSH key
,粘贴公钥并保存。再次测试 SSH 连接
bash
ssh -T git@github.com
若成功,会显示
Hi 你的用户名! ...
的提示。
生成并配置好 SSH 密钥后,再尝试通过 SSH 协议推送代码,步骤如下:
# 确保远程地址是 SSH 格式
git remote set-url origin git@github.com:xxxxx.git# 推送分支
git push --set-upstream origin 你的分支
如果仍然连接失败,大概率还是网络限制问题,建议继续尝试切换网络(如手机热点)。