【git】如何生成SSH key用于无需账号登录git仓库推送(需要令牌的问题)

在本机生成SSH Key的步骤相对简单,以下是一个通用的流程,适用于大多数操作系统(如Windows、Linux和macOS)。请注意,不同操作系统和工具(如Git Bash、Windows PowerShell等)的具体操作可能略有不同,但基本原理相同。

步骤

1.打开终端或命令提示符

  • 在Windows上,你可以使用Git Bash或Windows PowerShell。

  • 在Linux和macOS上,直接打开终端即可。

2.生成SSH Key

输入命令

在终端或命令提示符中,输入以下命令(这里以RSA类型为例,但你也可以选择ed25519等其他类型,具体取决于你的需求)

bash 复制代码
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • -t rsa 指定密钥类型为RSA。

  • -b 4096 指定密钥长度为4096位(这是目前推荐的长度,可以提供更好的安全性)。

  • -C "your_email@example.com" 是密钥的注释信息,通常填写你的邮箱地址,用于标识这个密钥。这里的your_email@example.com需要替换成你的实际邮箱地址。

按回车确认

在输入命令后,系统会询问你一些信息,如密钥的保存路径(如果不更改,则直接回车使用默认路径)、是否覆盖已存在的密钥(如果之前没有生成过密钥,则不会出现此提示)、以及是否需要设置密钥密码(如果不设置,则直接回车跳过)。

等待密钥生成

密钥生成过程可能需要一些时间,完成后,你会在指定的路径下看到两个文件:一个是私钥文件(默认为id_rsa),另一个是公钥文件(默认为id_rsa.pub)。在ed25519类型下,文件名会是id_ed25519id_ed25519.pub

3.查看SSH Key

查看公钥

你可以使用cat命令来查看公钥文件的内容。例如,如果你的密钥是RSA类型的,可以输入:

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

或者,如果是ed25519类型的,则输入:

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

然后,将显示的内容复制到剪贴板中,以便稍后将其添加到GitLab、GitHub等远程仓库的SSH Key设置中。

查看私钥(通常不需要,除非有特殊需求)

同样地,你可以使用cat命令来查看私钥文件的内容,但出于安全考虑,通常不建议这样做。私钥应该保持私密,并且只在需要时提供给可信的系统或应用程序。

4.将公钥添加到远程仓库

登录到你的GitLab、GitHub等远程仓库账户

找到SSH Key的设置选项

点击"添加SSH Key"或类似的按钮

在标题框中输入一个易于识别的名称(可选)

在公钥框中粘贴你之前复制的公钥内容

点击"保存"或类似的按钮

完成以上步骤后,你就成功地将SSH Key添加到了远程仓库,并可以使用它来安全地推送和拉取代码了。

相关推荐
砖厂小工10 小时前
用 GLM + OpenClaw 打造你的 AI PR Review Agent — 让龙虾帮你审代码
android·github
程序员鱼皮10 小时前
又一个新项目完结,我要出海了!
ai·github·开源项目
徐小夕11 小时前
pxcharts-vue:一款专为 Vue3 打造的开源多维表格解决方案
前端·vue.js·github
Moment11 小时前
想要长期陪伴你的助理?先从部署一个 OpenClaw 开始 😍😍😍
前端·后端·github
我叫黑大帅11 小时前
前端如何利用 GitHub Actions 自动构建并发布到 GitHub Pages?
前端·面试·github
HelloGitHub13 小时前
这个年轻的开源项目,想让每个人都能拥有自己的专业级 AI 智能体
开源·github·agent
刘发财19 小时前
弃用html2pdf.js,这个html转pdf方案能力是它的几十倍
前端·javascript·github
sunny8651 天前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github
ZengLiangYi1 天前
Git Tag + Semver + CI/CD:从打标签到自动发布的完整实践
github