在GitHub中,SSH和GPG密钥是用于提高账户和代码安全性的两种主要工具。以下是详细介绍:
SSH Keys
SSH(Secure Shell)密钥是一种加密密钥,用于在你的计算机和GitHub之间建立安全连接。通过SSH密钥,可以在无需输入用户名和密码的情况下与GitHub进行安全通信。
设置SSH密钥的步骤:
-
生成SSH密钥对:
-
在本地计算机上打开终端或命令行工具。
-
运行以下命令来生成新的SSH密钥对:
bashssh-keygen -t ed25519 -C "your_email@example.com"
如果你的系统不支持
ed25519
算法,可以使用rsa
:bashssh-keygen -t rsa -b 4096 -C "your_email@example.com"
-
按提示操作并保存密钥文件。
-
-
添加SSH密钥到SSH代理:
-
确保SSH代理正在运行:
basheval "$(ssh-agent -s)"
-
将SSH私钥添加到SSH代理:
bashssh-add ~/.ssh/id_ed25519
-
-
将SSH公钥添加到GitHub:
-
复制SSH公钥到剪贴板:
bashcat ~/.ssh/id_ed25519.pub
-
登录到GitHub,进入"Settings"。
-
在左侧菜单中选择"SSH and GPG keys",点击"New SSH key"。
-
将公钥粘贴到Key字段中,点击"Add SSH key"。
-
-
测试SSH连接:
-
运行以下命令测试是否成功连接到GitHub:
bashssh -T git@github.com
-
GPG Keys
GPG(GNU Privacy Guard)密钥用于对Git提交进行签名,以验证提交的真实性和完整性。通过使用GPG密钥,可以确保代码提交确实是由你本人完成的,并且在传输过程中没有被篡改。
设置GPG密钥的步骤:
-
生成GPG密钥对:
-
在本地计算机上打开终端或命令行工具。
-
运行以下命令生成GPG密钥对:
bashgpg --full-generate-key
-
按提示操作并选择合适的选项(一般选择RSA和RSA,长度4096,密钥有效期可以根据需要设置)。
-
-
获取GPG密钥ID:
-
运行以下命令查看生成的GPG密钥:
bashgpg --list-secret-keys --keyid-format LONG
-
找到类似
sec rsa4096/XXXXXXXXXXXXXXXX 2021-01-01 [SCA]
的输出,其中XXXXXXXXXXXXXXXX
就是你的GPG密钥ID。
-
-
导出GPG公钥并添加到GitHub:
-
运行以下命令导出GPG公钥:
bashgpg --armor --export XXXXXXXXXXXXXXXX
-
复制输出的公钥内容。
-
登录到GitHub,进入"Settings"。
-
在左侧菜单中选择"SSH and GPG keys",点击"New GPG key"。
-
将公钥粘贴到Key字段中,点击"Add GPG key"。
-
-
配置Git使用GPG签名:
-
运行以下命令配置Git使用你的GPG密钥进行签名:
bashgit config --global user.signingkey XXXXXXXXXXXXXXXX git config --global commit.gpgSign true
-
验证GPG签名:
-
在提交代码时,使用
-S
选项来签名:bashgit commit -S -m "Your commit message"
通过配置和使用SSH和GPG密钥,你可以大大增强GitHub账户和代码仓库的安全性,确保代码传输和提交的安全性和真实性。