git clone 时遇到The authenticity of host ‘gitee.com (180.97.125.228)‘ can‘t be established. ECDSA key

在这里插入图片描述出现改问题的原因是git服务器没有存储本地ssh密钥。

解决步骤:

  1. 删除 .ssh 文件夹【C:\Users(本地用户名).ssh】 中的 known_hosts(直接删除即可)

  2. 在下载好的Git中的bin目录下(一般是 C:\Program Files\Git\bin)打开bash.exe输入命令ssh-keygen -t rsa -C “username” (注:username为你git上的用户名),如果执行成功。返回:

    Generating public/private rsa key pair.
    Enter file in which to save the key (/Users/username/.ssh/id_rsa): //这里的username是电脑上的用户名,这个地址也是文件的存储地址,然后按回车,
    

如果以前有存储地址会返回/Users/your username/.ssh/id_rsa already exists.Overwrite (y/n)?直接输入y回车。

如果以前没有储存地址就会出现Enter passphrase(empty for no passphrase);也直接回车,

两种情况回车后都会出现 Enter same passphrase again 然后接着回车会显示

The key’s randomart image is:
±–[RSA 2048]----+
| . . |
| . = . . o|
|o o * . . …|
|E oo o . o… |
| B . o S . … |
|. o o .o… |
| . o**. |
| .B=+%. |
| +*BoBo |
±—[SHA256]-

在使用 Git 克隆 Gitee 仓库,出现 `git@gitee.com: Permission denied (publickey)` 错误,通常是由于 SSH 密钥配置不正确或未被正确识别所致。以下是可能导致此问题的常见原因及对应的解决方案: ### 1. SSH 密钥未正确生成 确保已按照标准流程生成 SSH 密钥对。可以使用以下命令生成新的 RSA 密钥对,并将邮箱替换为注册 Gitee 账号所使用的邮箱: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 执行完成后,会在 `~/.ssh/` 目录下生成 `id_rsa`(私钥)和 `id_rsa.pub`(公钥)文件[^5]。 ### 2. 公钥未添加到 Gitee 账户 将生成的公钥内容复制到剪贴板: ```bash cat ~/.ssh/id_rsa.pub ``` 登录 Gitee 账户,在 **个人设置 > SSH公钥** 页面中添加公钥内容。确保粘贴的是完整的公钥信息,包括 `ssh-rsa` 前缀和邮箱后缀[^2]。 ### 3. SSH 客户端未加载私钥 即使密钥已生成并部署,如果 SSH 客户端未加载私钥,也会导致认证失败。使用以下命令检查是否已加载密钥: ```bash ssh-add -l ``` 如果没有看到预期的密钥,使用以下命令手动加载: ```bash ssh-add ~/.ssh/id_rsa ``` 如果使用了非默认的密钥名称(如 `id_rsa_gitee`),则需要指定具体路径: ```bash ssh-add ~/.ssh/id_rsa_gitee ``` ### 4. SSH 配置文件未指定正确的密钥 当存在多个 SSH 密钥(例如同用于 GitHubGitee),需通过 `~/.ssh/config` 文件明确指定每个主机使用的密钥。例如: ```plaintext # Gitee Host gitee.com HostName gitee.com PreferredAuthentications publickey IdentityAgent ~/.ssh/id_rsa_gitee User git ``` 请根据实际密钥路径进行修改,以确保 Git 使用正确的私钥连接 Gitee 服务器[^2]。 ### 5. 测试 SSH 连接 运行以下命令测试与 Gitee 的 SSH 连接: ```bash ssh -T git@gitee.com ``` 如果提示 `Permission denied (publickey)`,说明仍存在问题。此应检查密钥是否正确加载、Gitee 是否已成功绑定公钥,并确认 `.ssh` 目录权限设置合理: ```bash chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub ``` ### 6. 确保 Git 使用 SSH 协议 检查当前 Git 仓库远程地址是否为 SSH 格式: ```bash git remote -v ``` 如果不是 SSH 地址(即不是 `git@gitee.com:username/repo.git` 形式),可使用以下命令修改: ```bash git remote set-url origin git@gitee.com:username/repo.git ``` ### 7. 清除 SSH 缓存 有旧的 SSH 缓存可能影响新密钥的生效,可尝试清除缓存: ```bash eval "$(ssh-agent -s)" ssh-add -D ``` 随后重新加载密钥并测试连接。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值