github中的SSH and GPG keys

在GitHub中,SSH和GPG密钥是用于提高账户和代码安全性的两种主要工具。以下是详细介绍:

SSH Keys

SSH(Secure Shell)密钥是一种加密密钥,用于在你的计算机和GitHub之间建立安全连接。通过SSH密钥,可以在无需输入用户名和密码的情况下与GitHub进行安全通信。

设置SSH密钥的步骤:
  1. 生成SSH密钥对:

    • 在本地计算机上打开终端或命令行工具。

    • 运行以下命令来生成新的SSH密钥对:

      bash 复制代码
      ssh-keygen -t ed25519 -C "your_email@example.com"

      如果你的系统不支持ed25519算法,可以使用rsa:

      bash 复制代码
      ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    • 按提示操作并保存密钥文件。

  2. 添加SSH密钥到SSH代理:

    • 确保SSH代理正在运行:

      bash 复制代码
      eval "$(ssh-agent -s)"
    • 将SSH私钥添加到SSH代理:

      bash 复制代码
      ssh-add ~/.ssh/id_ed25519
  3. 将SSH公钥添加到GitHub:

    • 复制SSH公钥到剪贴板:

      bash 复制代码
      cat ~/.ssh/id_ed25519.pub
    • 登录到GitHub,进入"Settings"。

    • 在左侧菜单中选择"SSH and GPG keys",点击"New SSH key"。

    • 将公钥粘贴到Key字段中,点击"Add SSH key"。

  4. 测试SSH连接:

    • 运行以下命令测试是否成功连接到GitHub:

      bash 复制代码
      ssh -T git@github.com

GPG Keys

GPG(GNU Privacy Guard)密钥用于对Git提交进行签名,以验证提交的真实性和完整性。通过使用GPG密钥,可以确保代码提交确实是由你本人完成的,并且在传输过程中没有被篡改。

设置GPG密钥的步骤:
  1. 生成GPG密钥对:

    • 在本地计算机上打开终端或命令行工具。

    • 运行以下命令生成GPG密钥对:

      bash 复制代码
      gpg --full-generate-key
    • 按提示操作并选择合适的选项(一般选择RSA和RSA,长度4096,密钥有效期可以根据需要设置)。

  2. 获取GPG密钥ID:

    • 运行以下命令查看生成的GPG密钥:

      bash 复制代码
      gpg --list-secret-keys --keyid-format LONG
    • 找到类似sec rsa4096/XXXXXXXXXXXXXXXX 2021-01-01 [SCA]的输出,其中XXXXXXXXXXXXXXXX就是你的GPG密钥ID。

  3. 导出GPG公钥并添加到GitHub:

    • 运行以下命令导出GPG公钥:

      bash 复制代码
      gpg --armor --export XXXXXXXXXXXXXXXX
    • 复制输出的公钥内容。

    • 登录到GitHub,进入"Settings"。

    • 在左侧菜单中选择"SSH and GPG keys",点击"New GPG key"。

    • 将公钥粘贴到Key字段中,点击"Add GPG key"。

  4. 配置Git使用GPG签名:

    • 运行以下命令配置Git使用你的GPG密钥进行签名:

      bash 复制代码
      git config --global user.signingkey XXXXXXXXXXXXXXXX
      git config --global commit.gpgSign true
验证GPG签名:
  • 在提交代码时,使用-S选项来签名:

    bash 复制代码
    git commit -S -m "Your commit message"

通过配置和使用SSH和GPG密钥,你可以大大增强GitHub账户和代码仓库的安全性,确保代码传输和提交的安全性和真实性。

相关推荐
怕浪猫6 小时前
GEO 优化到底是什么?AI时代内容创作者必须懂的新技能
算法·面试·github
miofly8 小时前
Aleph Alpha 开源 78B 参数 MoE 模型 Kolibri
开源·github
ai小陈8 小时前
GPU服务器租用存储验收:检查点写入与磁盘吞吐实战
运维·服务器·人工智能·ai·ssh·gpu算力
JackSparrow4149 小时前
和AI一起将全部CSDN博文迁移到个人博客站
人工智能·程序人生·ai·github·cloudflare·astro·静态博客
有毒的教程10 小时前
VMware仅主机模式:物理机 ↔ 虚拟机 文件共享
运维
山岚的运维笔记13 小时前
ComfyUI NVIDIA安装教程:官方便携版下载+run_nvidia_gpu.bat启动,8G显存Windows实操
运维·服务器·windows·笔记·prompt·aigc·comfyui
海宇大数据13 小时前
零信任架构实战:基于海宇活体识别V步骤1构建自动化远程公证会话初始化网关
运维·人工智能·架构·自动化
lisanmengmeng14 小时前
Nagios邮件报警的配置
linux·运维·服务器
Ruiery14 小时前
Linux 6.6内核 CPU 深度解析(六):cpufreq
linux·运维·服务器
天远数科14 小时前
零信任架构实战:基于天远全能消金报告构建自动化消费分期网关
运维·人工智能·架构·自动化