赞
踩
首先你得装了git,linux 自带的。Windows自己下载配置一下。
注意 Windows下要用gitbash输入命令行,如果是Linux 就在默认命令行输入命令即可
大致思路如下(不一定对,因为有段时间没弄了):
a. 打开Git Bash。
b. 运行下面代码
ssh-keygen -t ed25519 -C "your_email@example.com"
c. 当系统提示“Enter a file in which to save the key(输入要保存密钥的文件)”时,可以按 Enter 键接受默认文件位置,但是 请注意,如果以前创建了 SSH 密钥,则 ssh-keygen 可能会覆盖另一个密钥,如果不想这样,可以手动指定路径。
d. 安全密码我留空了,如果想加密可以设置一个密码并记住它
确保 ssh-agent 正在运行。(在gitbash中运行下面命令)
- # start the ssh-agent in the background
- $ eval "$(ssh-agent -s)"
- > Agent pid 59566
将 SSH 私钥添加到 ssh-agent。 如果使用其他名称创建了密钥或要添加具有其他名称的现有密钥,请将命令中的 id_ed25519 替换为私钥文件的名称。
ssh-add ~/.ssh/id_ed25519
3.配置 Git 使用 SSH 对提交和标记签名:
git config --global gpg.format ssh
4.在 Git 中设置 SSH 签名密钥,将 /PATH/TO/KEY.PUB 替换为要使用的公钥路径。(一般在 ~/.ssh下面)
$ git config --global user.signingkey /PATH/TO/.SSH/KEY.PUB
打开 home文件夹下的 .gitconfig(Windows 下为C:\Users,linux直接命令行 cd ~)
最终配置文件如下
[user]
name = 你的name
email = 你的邮箱
signingkey = 你的公钥(.pub结尾)
[gpg]
format = ssh
如果没问题的话 在代码后面添加
[commit]
gpgsign = true
[tag]
gpgsign = true
这样子 commit 和 tag 都会自动签名。
最终文件如下
[user]
name = 你的name
email = 你的邮箱
signingkey = 你的公钥(.pub结尾)
[gpg]
format = ssh
[commit]
gpgsign = true
[tag]
gpgsign = true
将 SSH 公钥复制到剪贴板
内容如下,以ssh-ed25519开头,一定要 Ctrl + A 全部复制
点击你GitHub 右上角头像
点击这里
点击这里
两个都要添加,不然git 连接会出错
一个是连接授权,一个是签名。
GitHub中的SSH key分为两种类型:Authentication Keys(身份验证密钥)和Signing Keys(签名密钥)。
Authentication Keys(身份验证密钥):
- 用于身份验证,允许您与GitHub进行安全通信,例如通过SSH连接。
- 当您从本地系统与GitHub进行交互时,这是用于验证您身份的密钥。通常,这与访问和推送代码相关。
Signing Keys(签名密钥):
- 用于对Git提交进行数字签名,以验证提交的真实性和完整性。
- 这是在Git操作中确保提交的来源和内容未被篡改的一种方式。通过签署提交,您可以确保提交是由特定的私钥持有者创建的。
最后的验证,在git bash输入
ssh -T git@github.com
参考
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。