git@github.com: Permission denied (publickey). Could not read from remote repository.

1. 问题背景

之前使用https形式的git操作一直没有问题,后来改为了ssh的方式,然后就给我提示

git@github.com: Permission denied (publickey). Could not read from remote repository.

2. 问题原因

原因是因为改用了ssh的方式进行git操作
git@github.com: Permission denied (publickey). Could not read from remote repository.

3. 解决方法

解决方式就是在本地生成(如果没有的话)ssh秘钥,添加到github账户中。

以下操作适合Linux和Mac系统,Windows用户按照步骤修改相应操作即可

3.1 检查本地是否已经有ssh秘钥

打开终端,输入如下指令

ls -al ~/.ssh

查看是否存在如下三个文件

  • id_rsa.pub
  • id_ecdsa.pub
  • id_ed25519.pub

如果上述三个文件不存在,甚至连.ssh目录都不存在,则进入步骤3.2进行秘钥创建,否则进入步骤3.3

3.2 创建ssh秘钥

打开终端,输入指令,这将以提供的电子邮件地址为标签创建新 SSH 密钥。

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

连续三次回车即可,第一次回车是确认要保存秘钥至默认位置~/.ssh,后两次回车是要求设置一个密码,我图省事儿直接回车表示不设置

3.3 添加秘钥值github账号

查看~/.ssh中生成的公钥,公钥文件以.pub结尾,如果是根据步骤3.2生成的,公钥文件为id_ed25519.pub

cat id_ed25519.pub

登录网页版github,依次点击Settings -> SSH and GPG keys -> New SSH key
git@github.com: Permission denied (publickey). Could not read from remote repository.
git@github.com: Permission denied (publickey). Could not read from remote repository.
git@github.com: Permission denied (publickey). Could not read from remote repository.

然后给自己的秘钥起个名字,添加公钥文件中的字符串即可。

最后进行正常的git操作即可,以上


上一篇:CentOS7安装SSH


下一篇:全功能Python测试框架:pytest