GitHub - SSH密钥
检查现有的SSH密钥
在生成SSH密钥之前,您可以检查是否有任何现有的SSH密钥。
打开Git Bash。输入ls -al ~/.ssh以查看是否存在现有SSH密钥:

默认情况下,公钥的文件名是以下之一:
id_dsa.pub
id_ecdsa.pub
id_ed25519.pub
id_rsa.pub
如果看到要用于连接到GitHub 的现有公钥和私钥对(例如id_rsa.pub和id_rsa),则可以将SSH密钥添加到ssh-agent。
如果没有现有的公钥和私钥对,或收到〜/ .ssh不存在的错误,则生成新的SSH密钥
生成新 SSH 密钥并添加到 ssh-agent
如果没有 SSH 密钥,则必须生成新 SSH 密钥。
如果不想在每次使用 SSH 密钥时重新输入密码,您可以将密钥添加到 SSH 代理,让它管理您的 SSH 密钥并记住您的密码。
生成新 SSH 密钥
打开Git Bash。粘贴下面的文本(替换为您的 GitHub 电子邮件地址)。
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

首先 ssh-keygen 会确认密钥的存储位置(默认是 .ssh/id_rsa),
然后它会要求你输入两次密钥口令。(此时输入口令时,Git Bash不显示任何字符,输完回车即可)
这将创建以所提供的电子邮件地址为标签的新 SSH 密钥。
将 SSH 密钥添加到 ssh-agent
如果已安装 GitHub Desktop ,可使用它克隆仓库,而无需处理 SSH 密钥。它还附带 Git Bash 工具,这是在 Windows 上运行 git 命令的首选方法。
1、确保 ssh-agent 正在运行:
如果您使用随 GitHub Desktop 一起安装的 Git Shell,则 ssh-agent 应该正在运行。
如果您使用的是其他终端提示符,例如 Git for Windows,您可以根据“使用 SSH 密钥密码”中的“自动启动 ssh-agent”说明进行操作,或者手动启动它:
$ eval $(ssh-agent -s)

2、将 SSH 私钥添加到 ssh-agent。
如果您创建了不同名称的密钥,或者您要添加不同名称的现有密钥,请将命令中的 id_rsa 替换为您的私钥文件的名称。
$ ssh-add ~/.ssh/id_rsa
新增 SSH 密钥到 GitHub 帐户
要配置 GitHub 帐户使用新的(或现有)SSH 密钥,您还需要将其添加到 GitHub 帐户。
在新增 SSH 密钥到 GitHub 帐户后,您可以重新配置任何本地仓库使用 SSH。 更多信息请参阅“将远程 URL 从 HTTPS 转换为 SSH”。
1、将 SSH 密钥复制到剪贴板。
如果您的 SSH 密钥文件与示例代码不同,请修改文件名以匹配您当前的设置。 在复制密钥时,请勿添加任何新行或空格。
$ clip < ~/.ssh/id_rsa.pub
如果 clip 不可用,可找到隐藏的 .ssh 文件夹,在常用的文本编辑器中打开该文件,并将其复制到剪贴板。
2、在GitHub任意页面的右上角,单击您的个人资料照片,然后单击 Settings(设置)。

3、在用户设置侧边栏中,单击 SSH and GPG keys(SSH 和 GPG 密钥)。

4、单击 New SSH key(新 SSH 密钥)或 Add SSH key(添加 SSH 密钥)。

5、在 "Title"(标题)字段中,为新密钥添加描述性标签。

6、将密钥粘贴到 "Key"(密钥)字段。

7、单击 Add SSH key(添加 SSH 密钥)。

8、如有提示,请确认您的 GitHub 密码。

测试 SSH 连接
测试连接时,您将需要使用密码(即您之前创建的 SSH 密钥密码)验证此操作。
打开Git Bash。输入以下内容:
$ ssh -T git@github.com

第一次使用 SSH 会出现警告,输入 yes 即可。
如出现错误:权限被拒绝(公钥),请访问该链接权限被拒绝(公钥)

SSH 密钥密码
通过输入以下命令,您可以更改现有私钥的密码而无需重新生成密钥对:
$ ssh-keygen -p
如果您的密钥已有密码,系统将提示您输入该密码,然后才能更改为新密码。