sourcetree gitee每次推送都需要输入密码 gitee生成SSH Key

gitee生成SSH Key

生成 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. 内容,则证明添加成功。

gitee生成SSH Key

问题

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 怎么解决?

问题主要集中在以下两点:

  1. ~/.ssh/id_rsa 文件不存在
    • 你尝试运行 ssh-add ~/.ssh/id_rsa 时,提示 No such file or directory,说明私钥文件 id_rsa 不存在。

  2. ~/.ssh/config 文件配置错误
    • 运行 ssh -T git@gitee.com 时,提示 keyword identityfile extra arguments at end of line,说明 ~/.ssh/config 文件的第 7 行配置有误。


解决步骤

1. 检查并重新生成 SSH 密钥

如果 ~/.ssh/id_rsa 文件不存在,需要重新生成 SSH 密钥:

  1. 打开终端,运行以下命令生成 SSH 密钥:
    ssh-keygen -t rsa -C "your_email@example.com"
    

    • 按提示输入保存路径(默认是 ~/.ssh/id_rsa)。
    • 设置一个密码(可选)。

  2. 生成成功后,会在 ~/.ssh/ 目录下生成两个文件:
    id_rsa:私钥文件。
    id_rsa.pub:公钥文件。

2. 将公钥添加到 Gitee

  1. 打开 id_rsa.pub 文件,复制其中的内容:
    cat ~/.ssh/id_rsa.pub
    
  2. 登录 Gitee,进入 个人设置 -> SSH 公钥
  3. 将复制的公钥内容粘贴到 公钥 文本框中,点击 确定

3. 修正 ~/.ssh/config 文件

  1. 打开终端,运行以下命令编辑 ~/.ssh/config 文件:
    vim ~/.ssh/config
    
  2. 确保文件内容如下:
    Host gitee.com
        HostName gitee.com
        User git
        IdentityFile ~/.ssh/id_rsa
    

    • 确保 IdentityFile 的路径正确(即你生成的私钥文件路径)。
    • 确保没有多余的参数或格式错误。

  3. 保存并退出编辑器。

4. 测试 SSH 连接

  1. 运行以下命令测试 SSH 连接:
    ssh -T git@gitee.com
    
  2. 如果看到以下信息,说明配置成功:
    Hi 夜空(@yelingkong)! You've successfully authenticated, but GITEE.COM does not provide shell access.
    

5. 重新尝试推送

  1. 在终端中进入你的项目目录,运行以下命令推送代码:
    git push origin main
    

    (注意:main 是分支名,根据你的实际情况替换)。


如果问题仍然存在

如果仍然无法推送,可以尝试以下方法:

  1. 删除 ~/.ssh/config 文件
    rm ~/.ssh/config
    

    然后重新配置 SSH。

  2. 检查私钥文件权限
    确保私钥文件的权限为 600

    chmod 600 ~/.ssh/id_rsa
    
  3. 确保仓库地址正确
    检查你的远程仓库地址是否正确:

    git remote -v
    

    如果地址错误,可以更新为正确的 SSH 地址:

    git remote set-url origin git@gitee.com:yelingkong/yunweikeshihua_vue3.git
    

完成

按照以上步骤操作后,问题应该可以解决。如果仍有问题,请提供更多错误信息,我会进一步协助你解决。

喜欢