Git 配置ssh验证 签名

首先你得装了git,linux 自带的。Windows自己下载配置一下。 

注意 Windows下要用gitbash输入命令行,如果是Linux 就在默认命令行输入命令即可

大致思路如下(不一定对,因为有段时间没弄了):

1. 生成一个公钥和密钥(如果有则跳过这步)

         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. 安全密码我留空了,如果想加密可以设置一个密码并记住它

         

2. 将 SSH 密钥添加到 ssh-agent

  1. 确保 ssh-agent 正在运行。(在gitbash中运行下面命令)

    # start the ssh-agent in the background
    $ eval "$(ssh-agent -s)"
    > Agent pid 59566
  2. 将 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

3. 将 SSH 签名密钥添加到 GitHub 帐户

        将 SSH 公钥复制到剪贴板 

        内容如下,以ssh-ed25519开头,一定要 Ctrl + A 全部复制

        

点击你GitHub 右上角头像

点击这里

 点击这里

两个都要添加,不然git 连接会出错

一个是连接授权,一个是签名。

GitHub中的SSH key分为两种类型:Authentication Keys(身份验证密钥)和Signing Keys(签名密钥)。

  1. Authentication Keys(身份验证密钥):

    • 用于身份验证,允许您与GitHub进行安全通信,例如通过SSH连接。
    • 当您从本地系统与GitHub进行交互时,这是用于验证您身份的密钥。通常,这与访问和推送代码相关。
  2. Signing Keys(签名密钥):

    • 用于对Git提交进行数字签名,以验证提交的真实性和完整性。
    • 这是在Git操作中确保提交的来源和内容未被篡改的一种方式。通过签署提交,您可以确保提交是由特定的私钥持有者创建的。

最后的验证,在git bash输入

ssh -T git@github.com

参考 

关于提交签名验证 - GitHub Enterprise Cloud Docs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值