github SSH keys 笔记

148 阅读2分钟

记录一下 SSH keys 配置

  1. 执行命令 git config --global --list 查看是否配置用户名和邮箱

image.png

如果没有配置,进行配置:

git config --global user.name "用户名" 
git config --global user.email "用户邮箱"
git config --global credential.helper store  // 用户名和邮箱只要不进行修改将会永久保存
  1. 执行 ssh-keygen -t rsa -C "你的邮箱" 生成秘钥,执行命令后需要确认相关信息:
  • 确认秘钥的保存路径,如果不需要改则直接回车即可,这里的示例中将秘钥的保存路径设置为D:\tools\Git\github.ssh\id_rsa(先要提前新建好 D:\tools\Git\github.ssh 文件夹)
  • 如果上一步的路径下已有秘钥文件,则需确认是否覆盖(如果之前的秘钥不再需要则直接回车覆盖,如需要则手动拷贝到其他目录后再覆盖)
  • 创建密码(如果不需要密码则直接回车)
  • 确认密码

【示例】:

D:\test>ssh-keygen -t rsa -C "你的邮箱"
Enter file in which to save the key (C:\Users\XXXX/.ssh/id_rsa): D:\tools\Git\github\.ssh\id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in D:\tools\Git\github\.ssh\id_rsa.
Your public key has been saved in D:\tools\Git\github\.ssh\id_rsa.pub.
The key fingerprint is:
这里会生成秘钥 你的邮箱
The key's randomart image is:
+---[RSA 3072]----+
|   .   .==.      |
|    o   .oo+     |
|     o oo +.o    |
|    . =+.o..     |
|     Oo.So .     |
|    o OEoo. ..o  |
|     B . . .o. +.|
|      = +.o. . .+|
|     . +.o.  o=o |
+----[SHA256]-----+
  1. 最终生成秘钥文件: image.png

  2. 复制 id_rsa.pub 文件下的 keys

  3. 进入 github 的 setting 找到 SSH and GPG keys 进行配置 image.png

image.png

image.png

  1. 开启 ssh-agent
  • 默认操作系统是不开启 ssh-agent 的,需要手动打开:ssh-agent bash
  • 把私钥添加到 ssh-agent 中:
    • 如果第 2 步中的 秘钥的保存路径 没有修改则直接执行:ssh-add ~/.ssh/id_rsa
    • 如果第 2 步中的 秘钥的保存路径 修改了,如上面第 2 步的示例,则执行:ssh-add D:\tools\Git\github\.ssh\id_rsa
  • 执行 ssh-add -L 查看 ssh-agent 中当前所代表的身份的公钥
  • 其他命令:
    • 从 ssh-agent 中删除密钥:ssh-add -d id_rsa.pub的文件路径(id_rsa 和 id_rsa.pub 在同一个目录下)
    • 对 ssh-agent 进行加锁:ssh-add -x
    • 对 ssh-agent 进行解锁:ssh-add -X