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 "[email protected]"

这个命令会生成一个 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 [email protected]

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

再次查看

https://juejin.cn/post/7449552457295970358

相关推荐
刃神太酷啦13 分钟前
类和对象(1)--《Hello C++ Wrold!》(3)--(C/C++)
java·c语言·c++·git·算法·leetcode·github
互联网搬砖老肖1 小时前
Web 架构之故障自愈方案
前端·架构·github
江鸟19982 小时前
AI日报 · 2025年05月11日|传闻 OpenAI 考虑推出 ChatGPT “永久”订阅模式
人工智能·gpt·ai·chatgpt·github
老马啸西风14 小时前
sensitive-word-admin v2.0.0 全新 ui 版本发布!vue+前后端分离
vue.js·ui·ai·nlp·github·word
是代码侠呀15 小时前
飞蛾扑火算法matlab实现
开发语言·算法·matlab·github·github star·github 加星
大龄牛码17 小时前
GitHub打开缓慢甚至失败的解决办法
github
柯ran21 小时前
JSON|cJSON 介绍以及具体项目编写
c语言·链表·json·github
正经教主1 天前
【问题】Watt加速github访问速度:好用[特殊字符]
github·watt
wumu_Love1 天前
git 报错:错误:RPC 失败。curl 28 Failed to connect to github.com port 443 after 75000
git·rpc·github
qianmoQ1 天前
GitHub 趋势日报 (2025年05月09日)
github