【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添加到了远程仓库,并可以使用它来安全地推送和拉取代码了。

相关推荐
zzqssliu2 小时前
煤炉自动代拍系统的队列设计与超时控制机制
git·github
fthux4 小时前
“装闭”,让装修套路“装”不下去
人工智能·ai·开源·github·open source
用户84913717547167 小时前
想做护眼工具却脑子一片空白?我用 OpenSpec 把模糊想法聊成了 v0.1
github·vibecoding
wangruofeng8 小时前
git-filter-repo 把 .git 从 112MB 砍到 1.4MB,但漏推 tag 让 clone 又胖回来
github·devops
峰向AI9 小时前
Block 放出大招!Buzz:一个中继统一代码、聊天、CI 全流程
github
dong_junshuai9 小时前
每天一个开源项目#47 4.4K Stars 的 LikeC4:让架构图随代码进化
github
午安~婉10 小时前
Git中SSH连接
前端·git·gitee
独立开阀者_FwtCoder11 小时前
最近做了一个健身小程序:智形健身助手,健身的佬们来提点意见
前端·javascript·github
夕夕木各15 小时前
从第一个 PR 到 Vite 官方中文文档维护者
github·vite
峥嵘life16 小时前
Android 系统应用蓝牙分享失败分析解决
android·gitee