git - 为什么克隆公共(public) Git 存储库需要机器的 ssh key ?

标签 git github ssh

我认为要克隆私有(private)仓库,我们需要验证计算机是否可信。但是对于公共(public)仓库,如果 github 的设置中没有添加 ssh key ,不确定为什么 git 被设计为要求机器的 ssh key ?

最佳答案

如果您通过 SSH 连接,Git(实际上是 Git 使用的 SSH 代理)将始终要求以私钥形式进行身份验证。这是因为 SSH 协议(protocol)实际上并不关心您访问的是公共(public)存储库还是私有(private)存储库。

您可以通过查看远程 URL 轻松确定用于克隆的协议(protocol)。 SSH 网址如下所示:

  1. ssh://git@github.com/<user>/<repo>.git
  2. git@github.com:<user>/<repo>.git

但是,在 GitHub 上,您始终可以使用 git:// 克隆公共(public)存储库协议(protocol)而不是 ssh:// ,不需要身份验证:

git clone git://github.com/<user>/<repo>.git

或者,使用 HTTPS,这将(如果没记错的话)只需要对私有(private)存储库进行身份验证:

git clone https://github.com/<user>/<repo>.git

关于git - 为什么克隆公共(public) Git 存储库需要机器的 ssh key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30989718/

相关文章:

git - 针对 AWS CodeCommits 运行 git clone 时出现 403 错误

php - 使用 github 和 MAMP

github - 如何将参数化 secret 传递给可重用的 GitHub Action 工作流程?

github - 有什么方法可以使分支具有层次结构(文件夹) View ?

python - 尝试使用 python 脚本执行 git 命令

windows - Windows 上的 Git : What do the crlf settings mean?

ruby-on-rails - 将代码从github转移到我自己的git服务器

python - 使用python将文件下载/上传到远程windows服务器

linux - 使用 SSHFS 挂载远程文件系统

GitExtensions 和 PuTTY 通过自定义端口上的 SSH