引言:SSH(Secure Shell)是一种网络协议,用于计算机之间的加密登录和其他安全网络服务。在GitHub中,可以使用SSH密钥来验证您的身份,从而安全地访问仓库。
- 通过 SSH 方式克隆仓库与 HTTPS 方式克隆仓库的区别:
- SSH(Secure Shell):
- SSH 是一种加密的网络协议,它允许通过安全的通道连接到远程服务器。
- 使用 SSH 克隆仓库时,您需要将公钥添加到您的 GitHub 账户中。一旦添加,就可以在不输入用户名和密码的情况下克隆和推送仓库。
- SSH 通常比 HTTPS 更快,因为它支持连接缓存和隧道,减少了每次操作时的身份验证步骤。
- SSH 更适合自动化脚本和持续集成/持续部署(CI/CD)流程,因为它可以免密操作。
- HTTPS(Hypertext Transfer Protocol Secure):
- HTTPS 是 HTTP 的安全版本,它通过 SSL/TLS 协议为数据传输提供加密。
- 使用 HTTPS 克隆仓库时,每次与 GitHub 通信都需要进行身份验证,这意味着可能需要定期输入用户名和密码,除非使用了令牌或保存了凭据。
- HTTPS 更易于设置,因为它不需要生成密钥对或将公钥添加到您GitHub 账户。
- HTTPS 更适合偶尔的克隆和操作,因为它对网络的要求较低,不需要 SSH 支持的服务器配置。
- SSH(Secure Shell):
- 如何在本地计算机上生成一个新的 SSH 密钥:
要生成一个新的 SSH 密钥,您可以按照以下步骤操作:- 打开终端(Terminal)。
- 输入以下命令,其中
your_email@example.com
应该替换为注册 GitHub 时使用的电子邮件地址,my_new_key
是为新密钥设置的名称(可以是任何喜欢的名称):
这条命令会生成一个基于 Ed25519 算法的 SSH 密钥对。如果想使用更传统的 RSA 算法,可以使用以下命令:ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/my_new_key
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/my_new_key
- 当系统提示输入密码时,可以设置一个密码(passphrase),也可以留空。如果设置了密码,每次使用密钥时都需要输入密码。
- 生成的密钥对将包含一个私钥(
my_new_key
)和一个公钥(my_new_key.pub
)。私钥应保密,不应与他人分享。公钥则需要添加到您GitHub 账户中。 - 要查看公钥,可以使用以下命令:
复制显示的内容,然后将其添加到 GitHub 账户的 SSH 密钥设置中。生成 SSH 密钥并添加到 GitHub 后,就可以使用 SSH 方式克隆仓库了。cat ~/.ssh/my_new_key.pub