1. 什么是SSH
SSH即Secure Shell,是一种加密的网络协议,旨在为网络服务端提供安全的远程登录和其他网络服务。SSH通过防止黑客窃取登录凭据,解决了不安全的网络服务承载。在github上的使用场景是,SSH可以让用户在本地计算机上生成公钥和私钥,以便无需输入密码即可与GitHub账户进行安全通信。
2. 生成SSH密钥
2.1 打开Git Bash
在Windows上,可以从开始菜单中找到Git Bash,并单击以打开它。
2.2 在Git Bash中运行以下命令
ssh-keygen -t ed25519 -C "youremail@example.com"
提示:可以使用自己的电子邮件。
运行后会显示如下结果:
Generating public/private ed25519 key pair.
Enter file in which to save the key (/c/Users/you/.ssh/id_ed25519):
这些信息告诉我们正在生成的是一个公钥和私钥键值对。默认情况下,文件存储在用户的主目录的 ~/.ssh/
文件夹中,并使用默认的文件名。
2.3 修改默认文件名
如果想将其保存到其他位置或更改其默认文件名,请在命令提示符后输入新路径或文件名:
Enter file in which to save the key (/c/Users/you/.ssh/id_ed25519): /c/Users/you/.ssh/github_key
2.4 输入密码(可选)
如果你希望在使用SSH密钥时输入密码以保护您的密钥,则可以在提示时输入密码。 如果您不希望输入密码,可以按Enter键直接跳过。
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]
3.将公钥添加到GitHub账户
3.1 复制公钥
使用以下命令在Git Bash中打开公钥文件:
cat ~/.ssh/github_key.pub
复制此输出。
3.2 添加公钥
转到GitHub,单击您的头像,并选择“Settings”。在页面左侧的菜单中,单击“SSH和GPG密钥”。 然后,使用“New SSH key”按钮添加公钥:
步骤如下:
点击New SSH key
在Title文本框中输入一个标识串,标识该密钥对
将刚刚复制的密钥粘贴至Key文本框中
单击“Add SSH key”按钮以将其添加到帐户
3.3 测试连接
接下来,使用以下命令测试连接:
ssh -T git@github.com
第一次连接时,你将被询问是否确认GitHub的真实性,输入yes并回车确认即可。测试输出应显示以下内容:
Hi username! You've successfully authenticated, but GitHub does not
provide shell access.
4. 使用SSH进行Git操作
现在您可以使用SSH与GitHub进行通信,而不必输入密码:
git clone git@github.com:username/repository.git
在这个命令中,git是SSH协议的标识符,username是你的GitHub用户名,repository.git是您要克隆的库。
5. 总结
到此为止,您现在已经学会了如何设置SSH以连接您的GitHub账户,并使用SSH密钥与GitHub库进行通信。通过SSH,您可以更轻松,更安全地在GitHub项目中工作。