生成 SSH Key
ssh-keygen -t rsa -C "858834013@qq.com"
将私钥添加到 ssh-agent
eval "$(ssh-agent -s)"
输入以下命令将私钥添加到 ssh-agent
ssh-add ~/.ssh/id_rsa
添加后gitee,在终端(Terminal)中输入
ssh -T git@gitee.com
添加后githut,在终端(Terminal)中输入
ssh -T git@github.com
首次使用需要确认并添加主机到本机SSH可信列表。若返回 Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功。
问题
Hi 夜空(@yelingkong)! You've successfully authenticated, but GITEE.COM does not provide shell access.
zhaowanjun@zhaowanjundeMac-mini ~ % eval "$(ssh-agent -s)"
Agent pid 69131
zhaowanjun@zhaowanjundeMac-mini ~ % ssh-add ~/.ssh/id_rsa
/Users/zhaowanjun/.ssh/id_rsa: No such file or directory
zhaowanjun@zhaowanjundeMac-mini ~ % ssh -T git@gitee.com
/Users/zhaowanjun/.ssh/config line 7: keyword identityfile extra arguments at end of line
/Users/zhaowanjun/.ssh/config: terminating, 1 bad configuration options 怎么解决?
问题主要集中在以下两点:
-
~/.ssh/id_rsa
文件不存在:
• 你尝试运行ssh-add ~/.ssh/id_rsa
时,提示No such file or directory
,说明私钥文件id_rsa
不存在。 -
~/.ssh/config
文件配置错误:
• 运行ssh -T git@gitee.com
时,提示keyword identityfile extra arguments at end of line
,说明~/.ssh/config
文件的第 7 行配置有误。
解决步骤
1. 检查并重新生成 SSH 密钥
如果 ~/.ssh/id_rsa
文件不存在,需要重新生成 SSH 密钥:
- 打开终端,运行以下命令生成 SSH 密钥:
ssh-keygen -t rsa -C "your_email@example.com"
• 按提示输入保存路径(默认是
~/.ssh/id_rsa
)。
• 设置一个密码(可选)。 - 生成成功后,会在
~/.ssh/
目录下生成两个文件:
•id_rsa
:私钥文件。
•id_rsa.pub
:公钥文件。
2. 将公钥添加到 Gitee
- 打开
id_rsa.pub
文件,复制其中的内容:cat ~/.ssh/id_rsa.pub
- 登录 Gitee,进入 个人设置 -> SSH 公钥。
- 将复制的公钥内容粘贴到 公钥 文本框中,点击 确定。
~/.ssh/config
文件
3. 修正 - 打开终端,运行以下命令编辑
~/.ssh/config
文件:vim ~/.ssh/config
- 确保文件内容如下:
Host gitee.com HostName gitee.com User git IdentityFile ~/.ssh/id_rsa
• 确保
IdentityFile
的路径正确(即你生成的私钥文件路径)。
• 确保没有多余的参数或格式错误。 - 保存并退出编辑器。
4. 测试 SSH 连接
- 运行以下命令测试 SSH 连接:
ssh -T git@gitee.com
- 如果看到以下信息,说明配置成功:
Hi 夜空(@yelingkong)! You've successfully authenticated, but GITEE.COM does not provide shell access.
5. 重新尝试推送
- 在终端中进入你的项目目录,运行以下命令推送代码:
git push origin main
(注意:
main
是分支名,根据你的实际情况替换)。
如果问题仍然存在
如果仍然无法推送,可以尝试以下方法:
- 删除
~/.ssh/config
文件:rm ~/.ssh/config
然后重新配置 SSH。
- 检查私钥文件权限:
确保私钥文件的权限为600
:chmod 600 ~/.ssh/id_rsa
- 确保仓库地址正确:
检查你的远程仓库地址是否正确:git remote -v
如果地址错误,可以更新为正确的 SSH 地址:
git remote set-url origin git@gitee.com:yelingkong/yunweikeshihua_vue3.git
完成
按照以上步骤操作后,问题应该可以解决。如果仍有问题,请提供更多错误信息,我会进一步协助你解决。