GitHub生成SSH密钥,

GitHub会通过SSH密钥来验证你的身份,确保你有权限克隆、推送或拉取代码。

对于公开仓库,你不需要额外的权限,只需确保SSH密钥已正确配置并可以通过GitHub验证。公开仓库允许任何人克隆,即使仓库属于他人,只要你通过SSH身份验证即可。

对于公开仓库的操作步骤总结:

  1. 生成并配置SSH密钥
  2. 将公钥添加到GitHub账户
  3. 测试SSH连接确保可以与GitHub通信。
  4. 克隆仓库,即便是别人的公开仓库,

照以下步骤生成SSH密钥,并将公钥添加到GitHub账户中:

这个错误是由于SSH密钥未正确配置或未添加到GitHub账户中导致的。GitHub通过SSH进行身份验证时,需要确保本地机器的SSH公钥已经被添加到你的GitHub账户中。

你可以按照以下步骤进行操作:

1. 生成SSH密钥(如果还没有的话)

首先,检查是否已经有SSH密钥,使用以下命令:

bash 复制代码
ls -al ~/.ssh

如果文件夹中有id_rsa.pubid_ed25519.pub,说明已经有密钥;如果没有,生成新的SSH密钥:

1. 生成SSH密钥

运行以下命令生成SSH密钥:

bash 复制代码
ssh-keygen -t ed25519 -C "[email protected]"  

如果你使用的系统不支持ed25519,可以使用RSA:

bash 复制代码
ssh-keygen -t rsa -b 4096 -C "[email protected]"

生成密钥时,系统会提示你选择保存的位置,建议直接按回车键使用默认位置(~/.ssh/id_ed25519~/.ssh/id_rsa),并可以选择是否设置密码。

2. 添加SSH密钥到ssh-agent

接下来,启动ssh-agent并将生成的私钥添加到代理中:

bash 复制代码
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

如果使用RSA密钥,命令为:

bash 复制代码
ssh-add ~/.ssh/id_rsa

3. 将SSH公钥添加到GitHub

使用以下命令查看公钥内容:

bash 复制代码
cat ~/.ssh/id_ed25519.pub

如果使用RSA密钥:

bash 复制代码
cat ~/.ssh/id_rsa.pub

复制公钥内容。然后:

  1. 登录到你的GitHub账户。
  2. 前往 GitHub SSH keys settings 页面。
  3. 点击"New SSH key"。
  4. 将复制的公钥粘贴到文本框中,给密钥起个名字,然后保存。

4. 测试SSH连接

添加公钥后,你可以使用以下命令测试SSH连接是否成功:

bash 复制代码
ssh -T [email protected]

如果配置正确,你会看到类似以下的信息:

复制代码
Hi username! You've successfully authenticated, but GitHub does not provide shell access.

5. 重新克隆仓库

最后,使用SSH重新克隆仓库:

bash 复制代码
git clone [email protected]:ShiqiYu/CPP.git

这样就可以解决"Permission denied (publickey)"问题,成功克隆别人的仓库。

如果你在操作过程中遇到问题,请告诉我!

相关推荐
正经教主6 小时前
【问题】解决docker的方式安装n8n,找不到docker.n8n.io/n8nio/n8n:latest镜像的问题
运维·docker·容器·n8n
唯独失去了从容7 小时前
WebRTC服务器Coturn服务器中的通信协议
运维·服务器·webrtc
joker_zsl8 小时前
docker的安装和简单使用(ubuntu环境)
运维·docker·容器
Run1.8 小时前
深入解析 Linux 中动静态库的加载机制:从原理到实践
linux·运维·服务器
VI8664956I268 小时前
全链路自动化AIGC内容工厂:构建企业级智能内容生产系统
运维·自动化·aigc
Gladiator5759 小时前
博客记录-day152-力扣+分布式
github
jstart千语9 小时前
【Git】连接github时的疑难杂症(DNS解析失败)
git·github
264玫瑰资源库9 小时前
斗鱼娱乐电玩平台源码搭建实录
运维·服务器·游戏·娱乐
Jogging-Snail9 小时前
从零开始掌握Linux数据流:管道与重定向完全指南
linux·运维·管道·重定向·linux 数据流·管道原理
niuTaylor10 小时前
Linux驱动开发快速上手指南:从理论到实战
linux·运维·开发语言·驱动开发·c#