1. 问题背景
之前使用https形式的git操作一直没有问题,后来改为了ssh的方式,然后就给我提示
git@github.com: Permission denied (publickey). Could not read from remote repository.
2. 问题原因
原因是因为改用了ssh的方式进行git操作
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操作即可,以上