Git 配置ssh验证 签名

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

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

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

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

         a. 打开Git Bash。

         b. 运行下面代码

ssh-keygen -t ed25519 -C "[email protected]"

         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 连接会出错

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

最后的验证,在git bash输入

ssh -T [email protected]

参考 

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

猜你喜欢

转载自blog.csdn.net/m0_52559040/article/details/131426957
今日推荐