Permission denied (publickey). fatal: Could not read from remote repository.

将本地代码推送到远程分支报错:Permission denied (publickey). fatal: Could not read from remote repository.

确保已经添加了正确的 SSH 密钥。可以使用以下命令检查 SSH 密钥是否已经添加:

 ssh -T git@github.com

如果看到消息“Hi [username]! You've successfully authenticated, but GitHub does not provide shell access.”,则表示已成功通过 SSH 访问 GitHub。
否则,表示没有访问远程仓库的权限,可能是因为没有正确配置 SSH 密钥或没有在 Github 上将公钥添加到的帐户中。

Git的SSH公钥是用于通过SSH协议进行身份验证和授权的公钥,它允许在Git版本控制系统中访问需要身份验证的仓库。要将SSH公钥添加到GitHub账户,可以按照以下步骤进行操作:

1.生成SSH密钥对,如果已经有了SSH密钥对,可以跳过此步骤,否则,可以在终端或命令行窗口中运行以下命令生成一对SSH密钥:

ssh-keygen -t ed25519 -C "your_email@example.com"

这将生成一个新的SSH密钥对,并要求提供电子邮件地址作为注释。根据需要更改电子邮件地址。
在这里插入图片描述
成功生成的页面如上,并且在该目录会生成新的文件:
在这里插入图片描述

1.将SSH公钥添加到GitHub账户。
2.登录到你的GitHub账户,然后单击右上角的个人资料图标并选择“Settings”。
3.在左侧菜单中选择“SSH and GPG keys”(SSH和GPG密钥),然后单击“New SSH key”(新SSH密钥)按钮。
4.在“Title”字段中提供一个描述性的名称,然后将刚刚生成的SSH公钥(.pub)的内容复制到“Key”字段中。
5.最后,单击“Add SSH key”(添加SSH密钥)按钮。
验证SSH连接。打开终端或命令行窗口,并使用以下命令测试SSH连接:

ssh -T git@github.com

这将连接到GitHub并验证的SSH密钥是否已成功添加到的GitHub账户。如果一切正常,应该会看到一条消息,指示已成功通过SSH进行身份验证。

如果 ssh -T 邮箱@example.com 失败,可能有几个原因需要检查:

检查 SSH 代理是否在运行:
在运行 ssh -T 邮箱@example.com 前,确保 SSH 代理正在运行。使用以下命令检查:

eval "$(ssh-agent -s)"

检查 SSH 密钥是否被添加到代理:
使用以下命令确保 SSH 密钥已经添加到 SSH 代理中:

ssh-add -l

如果密钥没有列出,使用以下命令添加:

ssh-add ~/.ssh/你的新密钥

GitHub 是否识别 SSH 密钥:
确保你的 GitHub 帐户中包含了新生成的 SSH 密钥。在 GitHub 上的 “Settings” -> “SSH and GPG keys” 中添加公钥

检查网络连接:
确保你的网络连接正常,防火墙未阻止 SSH 连接。

使用 -v 选项进行详细调试:

ssh -v -T 邮箱@example.com

这将显示 SSH 连接的详细信息,有助于排查问题

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值