生成新的 SSH 密钥并将其添加到 ssh-agent
生成新 SSH 密钥
打开终端,在 windows 中可以使用 PowerShell 进行。
复制下面的命令行,将 your_email@example.com 修改成您的 GitHub 电子邮件地址。
ssh-keygen -t ed25519 -C "your_email@example.com"
完成后按回车执行,途中会询问您是否需要配置保存密钥的文件的位置,通常按回车保持默认即可。
接着还会询问您设置安全密码,通常为了方便将其设置为空,回车两次即可,可以根据您的需要进行调整设置。
您会在输出中找到这样的一行:
Your identification has been saved in C:\Users\<YOU>/.ssh/id_ed25519.
请记住这个位置 C:\Users\<YOU>/.ssh/id_ed25519. 其中的 <YOU> 是您的用户名。
接着下一行的内容:
Your public key has been saved in C:\Users\<YOU>/.ssh/id_ed25519.pub.
这个位置 C:\Users\<YOU>/.ssh/id_ed25519.pub. 的文件内容在后续会使用到。
将 SSH 密钥添加到 ssh-agent
新建一个使用管理员身份的 PowerShell 窗口,执行下列命令行。
Get-Service -Name ssh-agent | Set-Service -StartupType Manual
Start-Service ssh-agent
回到第一个终端窗口,将 SSH 私钥添加到 ssh-agent。
ssh-add C:/Users/<YOU>/.ssh/id_ed25519
其中的 C:/Users/<YOU>/.ssh/id_ed25519 是第一步需要你记住的位置。
新增 SSH 密钥到 GitHub 帐户
若要在 GitHub 上配置帐户以使用新的SSH 密钥,还需要将密钥添加到帐户。
将 SSH 公钥复制到剪贴板
找到第一步提示的后续需要使用到的文件,使用记事本或者文本编辑器打开,复制其中的全部内容。
ssh-ed25519 AAA...... your_email@example.com
向你的 GitHub 帐户添加新的 SSH 密钥
打开 Github 的页面,点击您的个人资料头像,然后点击 Settings 进入设置页面,点击 Access 下面的 SSH and GPG keys 的设置选项。
找到页面中 SSH keys 的区域,点击 New SSH key 按钮进入添加 SSH 密钥页面。
将上一步骤复制的内容填入 Key 的输入框,然后在 Title 的输入框中输入您的备注或者设备名称等,中间的 Key type 保持选择 Authentication Key 选项。
最后点击下面的 Add SSH key 按钮完成添加。
测试 SSH 连接
打开终端窗口,输入下面命令行:
ssh -T git@github.com
您可能会看到以下提示:
The authenticity of host 'github.com (IP ADDRESS)' can't be established.
ECDSA key fingerprint is SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
验证所看到消息中的指纹是否与 GitHub 的公钥指纹匹配,如果匹配,则输入 yes。
如果不是,停止当前步骤,请检查您的设备或者网络环境是否正常。
如果一切配置正确,您会看到下列内容:
Hi USERNAME! You've successfully authenticated, but GitHub does not provide shell access.
USERNAME 为您的 GitHub 用户名。
使用 SSH 方式 Clone 仓库
在您有权限的仓库页面,点击仓库页面上的绿色 Code 按钮。在 Local 选项卡下,Clone 下面点击 SSH 选项,点击右侧按钮复制链接。
接下来您可以使用 git clone 当前仓库了:
git clone git@github.com:username/xxx.git
注意:您的设备上需要安装 git 软件。