GitHub配置密钥

1.生成SSH密钥

1)检查 SSH 密钥是否存在

首先,确认是否已经在本地系统中生成了 SSH 密钥对。可以通过以下命令检查:

复制代码
ls -al ~/.ssh

在命令输出中,应该能看到类似 id_rsaid_rsa.pub 这样一对文件。如果这些文件不存在,表示你还没有创建 SSH 密钥对。

2)密钥不存在时

打开终端并输入以下命令(-C 后是你GitHub的邮箱地址):

Windows下请在:Git Bash下操作

复制代码
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

这个命令会生成一个 RSA 类型的 SSH 密钥对,长度为 4096 位,并将你的电子邮件作为注释。命令运行之后,你会被提示选择存储路径,可以按 Enter 直接使用默认路径,即 ~/.ssh/id_rsa。接着系统会提示你输入一个密码短语,这个短语可以为空,但为了安全性考虑,最好设定一个。

# 按 Enter 保存密钥到默认路径 (/home/username/.ssh/id_rsa)。

# 与Linux类似,Windows ssh保存使用默认路径(C:\Users\YourUsername\.ssh\id_rsa)。

macOS的默认路径(/Users/username/.ssh/id_rsa)

确认保存路径及设置密码

系统会提示你确认文件保存路径,按 Enter 使用默认路径。

然后会提示你输入密码(可以留空),输入完成后生成两个文件:
id_rsa: 私钥
id_rsa.pub: 公钥

2.获取公钥并复制(准备粘贴到Github)

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

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

复制输出的内容,这是需要添加到GitHub上的公钥。

3.在GitHub中添加SSH密钥

登录GitHub,在右上角点击头像,进入 Settings=> Access => SSH and GPG keys 中点击 New SSH key

输入密钥名称(例如"SSH_KEY"),在 Key 中粘贴刚才复制的公钥 ,点击 Add SSH key

4. 检查 SSH 配置文件(选填)

有时候,如果配置了多个 SSH 密钥,Git 可能不知道应该使用哪一个。此时,我们可以编辑 SSH 配置文件 ~/.ssh/config 来进行指定。可以使用以下命令编辑该文件:

复制代码
nano ~/.ssh/config

然后在文件中添加以下内容:

复制代码
Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa

上述配置明确指定了在连接 GitHub 时使用的私钥文件 ~/.ssh/id_rsa,从而避免多密钥的混淆。比如说,一个开发者可能有两个不同的 GitHub 账户,各自配置了不同的密钥,这时候通过 config 文件明确指定密钥是非常重要的。

5. 检查本地私钥权限

如果私钥文件的权限过于宽泛,例如对所有用户开放读写,SSH 客户端将拒绝加载该密钥,因为它不安全。

确保本地私钥文件的权限是正确的,即只能由当前用户读取。可以使用以下命令修改权限:

复制代码
chmod 600 ~/.ssh/id_rsa

chmod 644 ~/.ssh/id_rsa.pub

这个命令将 id_rsa 文件的权限设为仅拥有者可读写(600),确保密钥的安全性。

如果文件权限过于宽松,SSH 客户端会拒绝使用该密钥,因而无法认证。

6. 确保 SSH Agent 正常运行

SSH Agent 是一个守护进程,用于管理私钥的解密。

可以通过以下命令查看是否有 Agent 正在运行:

复制代码
eval "$(ssh-agent -s)"

使用以下命令将密钥添加到 Agent 中:

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

成功添加之后,再次尝试克隆代码仓库。如果未启动 Agent,系统会提示错误消息,通过上述步骤启动并添加密钥之后,应该就可以正常克隆代码了。

7.测试连接

使用以下命令测试SSH连接:

复制代码
ssh -T git@github.com

如果成功,GitHub会返回类似于"Hi username! You've successfully authenticated"的消息。

再次查看

https://juejin.cn/post/7449552457295970358

相关推荐
YH55269849 分钟前
如何减少大模型的token消耗?日常使用,可以通过什么方式减少大模型 token 的消耗
gpt·chatgpt·github
阿里嘎多学长12 分钟前
2026-08-29 GitHub 热点项目精选
开发语言·程序员·github·代码托管
smileNicky1 小时前
GitHub Pull Request 指南:从 Fork 到 Merge 的图文实战教程
github
CoderJia程序员甲4 小时前
GitHub 热榜项目 - 周榜(2026-08-30)
ai·大模型·llm·github·ai教程
YuePeng4 小时前
把商业版模块开源了:Erupt 2.1 更新说明
github
u1301306 小时前
GitHub 热榜项目:周榜(2026-08-30)
github
阿里嘎多学长6 小时前
2026-08-30 GitHub 热点项目精选
开发语言·程序员·github·代码托管
wangruofeng16 小时前
Phosphor Icons 官网源码拆解:URL 即存储、水波动画与 7362 Star 图标库的架构实践
前端·架构·github
wangruofeng16 小时前
AI 画架构图总差点意思,archify 给它加了一条验收流水线
架构·github·aigc
林澈在路上18 小时前
AI翻唱软件哪个好 2026国产AI写歌工具对比推荐
大数据·人工智能·深度学习·github·aigc·音视频·音频